job-manager について
認証済み API を通じて Lytics のデータ統合ジョブを管理するスキルです。ジョブの検索や設定、ライフサイクル制御、ログによる問題調査に対応します。
主な機能
- 01ジョブの一覧表示と取得
- 02ジョブ設定の作成と更新
- 03ジョブの一時停止、再開、再起動、終了
- 04アカウント全体および個別ジョブのログ取得
- 05ワークフローや表示状態による絞り込み
- 06書き込み操作前の確認
活用シーン
- 01実行中または完了済みの統合ジョブの確認
- 02ワークフロージョブの作成や変更
- 03データ同期の一時停止や再起動
- 04ジョブエラーや停滞の調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ lytics/ agent-skills --skill job-managerインストール後、Claude Code で/job-managerを入力して読み込まれたか確認します。
詳細
ジョブマネージャー
目的
ジョブのライフサイクル全体を管理します。ジョブの一覧表示、作成、更新、状態の制御(一時停止、再開、再起動、強制終了)が可能です。ジョブは、インポート、エクスポート、同期などのデータ統合タスクを表します。
環境
認証済みの API アクセスが必要です。認証情報の解決については、../references/auth.md を参照してください。
API エンドポイント
ジョブの一覧表示
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/job" \
-H "Authorization: ${LYTICS_API_TOKEN}"
デフォルトでは、終了状態でないジョブ(実行可能、スリープ、一時停止、障害)のみが表示されます。
| クエリパラメーター | デフォルト | 説明 |
|---|---|---|
workflow | - | ワークフローのスラッグで絞り込みます |
auth_ids | - | 認証 ID で絞り込みます |
show_completed | false | 完了したジョブを含めます |
show_deleted | false | 削除済みのジョブを含めます |
show_hidden | false | 非表示のジョブを含めます |
show_all | false | すべてを表示します(完了、削除済み、非表示を true に設定します) |
show_state | false | レスポンスに WorkState の詳細を含めます |
ジョブの取得
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${JOB_ID}" \
-H "Authorization: ${LYTICS_API_TOKEN}"
ワークフロー別にジョブを取得
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${WORKFLOW}/${JOB_ID}" \
-H "Authorization: ${LYTICS_API_TOKEN}"
ジョブの作成
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/job" \
-H "Authorization: ${LYTICS_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"name": "Job Name",
"description": "What this job does",
"workflow": "workflow_name",
"config": { ... workflow-specific config ... },
"auth_ids": ["auth_id"],
"tag": "optional-tag"
}'
ワークフローを指定してジョブを作成
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${WORKFLOW}" \
-H "Authorization: ${LYTICS_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{ ... job config ... }'
ジョブの更新
curl -s -X PUT "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${WORKFLOW}/${JOB_ID}" \
-H "Authorization: ${LYTICS_API_TOKEN}" \
-H "Content-Type: application/json" \
-d '{ ... updated fields ... }'
ジョブのライフサイクルコマンド
# Pause
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${JOB_ID}/pause" \
-H "Authorization: ${LYTICS_API_TOKEN}"
# Resume
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${JOB_ID}/resume" \
-H "Authorization: ${LYTICS_API_TOKEN}"
# Bounce (restart)
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${JOB_ID}/bounce" \
-H "Authorization: ${LYTICS_API_TOKEN}"
# Kill (stop permanently)
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${JOB_ID}/kill" \
-H "Authorization: ${LYTICS_API_TOKEN}"
# Release
curl -s -X POST "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${JOB_ID}/release" \
-H "Authorization: ${LYTICS_API_TOKEN}"
ジョブログ
エンドポイントは 2 つあります。全アカウントのログ(過去 24 時間分、強制終了されたジョブを除く)と、特定のジョブのログ(ジョブ作成以降)です。
# All account job logs (last 24 hours, non-killed jobs)
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/logs" \
-H "Authorization: ${LYTICS_API_TOKEN}"
# Logs for a specific job (by ID)
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${JOB_ID}/logs" \
-H "Authorization: ${LYTICS_API_TOKEN}"
# Logs for a specific job (by workflow + ID)
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${WORKFLOW}/${JOB_ID}/logs" \
-H "Authorization: ${LYTICS_API_TOKEN}"
# Include additional error details
curl -s "${LYTICS_API_URL:-https://api.lytics.io}/v2/job/${JOB_ID}/logs?include_errors=true" \
-H "Authorization: ${LYTICS_API_TOKEN}"
クエリパラメーター: include_errors=true を指定すると、デフォルトのログエントリーに加えてエラーの詳細が返されます。ジョブの失敗をデバッグする際は、必ずこれを使用してください。
レスポンス:タイムスタンプ順に並んだ JobLog エントリーの配列です。
各ログエントリーには、以下が含まれます。
{
"job_id": "abc123",
"context": {
"added": 145,
"omitted": 3,
"removed": 12,
"user_email": "[email protected]"
},
"code": "JOB-FAULT-022",
"message": "Human-readable description of what happened",
"level": "info",
"timestamp": "2026-03-19T14:30:00Z"
}
ログエントリーのフィールド:
| フィールド | 説明 |
|---|---|
job_id | このログが属するジョブ |
message | 人が読める説明(例:「ユーザー [email protected] により開始」、「レート制限を超過」) |
level | ログレベル。イベントは info、問題は error/warn です |
timestamp | イベントの発生時刻 |
code | エラーレベルのエントリーに含まれるエラーコード(例:JOB-FAULT-022、UNAUTHORIZED-017) |
context | イベントの種類によって異なる追加メタデータのマップ |
エクスポートジョブでよく使われるコンテキストフィールド:
| コンテキストキー | 説明 |
|---|---|
added | この実行で追加/エクスポートされたユーザー数 |
omitted | スキップされたユーザー数(例:すでにエクスポート済み、フィルターで除外) |
removed | 宛先から削除されたユーザー数 |
user_email | 操作を実行したユーザー(一時開始/一時停止/強制終了の場合) |
ログのソース:
- API エラー:ジョブの WorkState からのエラー(実行エラー、認証失敗、レート制限)
- システムイベント:ジョブの作成、開始、一時停止、強制終了、更新など(info レベル)
デバッグ時のログの見方:
- 失敗を確認するには、まず
level: "error"のエントリーを確認します added/omitted/removedの件数を確認し、エクスポートが実行されているか検証します- 最新のログの
timestampを現在時刻と比較して、ジョブが停止状態かどうかを確認します codeフィールドは、エラーの種類(認証、レート制限、不正なリクエストなど)の分類に役立ちます
ジョブのペイロード
{
"name": "My Export Job",
"description": "Export high-value users to Facebook",
"workflow": "facebook_custom_audiences",
"config": {
"segment_id": "segment_id_here",
"...": "workflow-specific configuration"
},
"auth_ids": ["auth_provider_id"],
"tag": "optional-client-tag",
"hidden": false,
"verbose_logging": false,
"quiet_time_of_day": "02:00",
"quiet_timezone": "America/Los_Angeles",
"quiet_period": 4
}
動作
読み取り操作(一覧表示、取得、ログ)の場合
すぐに実行し、以下を表示する表形式で結果を示します。
- ジョブ ID、名前、ワークフロー、ステータス、最終更新日時
書き込み操作(作成、更新)の場合
確認ゲートのパターンを使用します。
ライフサイクルコマンド(一時停止、再開、再起動、強制終了)の場合
- 一時停止/再開:簡潔な確認を添えて実行します
- 再起動:ジョブを再起動することを説明し、確認を求めます
- 強制終了:ジョブを永久に停止することを警告し、明示的な確認を求めます
エラー処理
- ジョブが見つからない(404):ジョブ ID を確認し、利用可能なジョブを一覧表示します
- 無効なワークフロー:利用可能なワークフローを一覧表示します
- 認証情報がない:まず connection-manager で認証プロバイダーを作成するよう提案します
依存関係
- 使用するもの:
../references/auth.md、../references/api-client.md、../references/confirmation-gate.md
コメント
Markdown 対応