mcpField
J
job-manager

job-manager

github.com/lyticsデータ・データベース451 回インストール3 週間前に更新
リポジトリ

job-manager について

認証済み API を通じて Lytics のデータ統合ジョブを管理するスキルです。ジョブの検索や設定、ライフサイクル制御、ログによる問題調査に対応します。

主な機能

  1. 01ジョブの一覧表示と取得
  2. 02ジョブ設定の作成と更新
  3. 03ジョブの一時停止、再開、再起動、終了
  4. 04アカウント全体および個別ジョブのログ取得
  5. 05ワークフローや表示状態による絞り込み
  6. 06書き込み操作前の確認

活用シーン

  1. 01実行中または完了済みの統合ジョブの確認
  2. 02ワークフロージョブの作成や変更
  3. 03データ同期の一時停止や再起動
  4. 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_completedfalse完了したジョブを含めます
show_deletedfalse削除済みのジョブを含めます
show_hiddenfalse非表示のジョブを含めます
show_allfalseすべてを表示します(完了、削除済み、非表示を true に設定します)
show_statefalseレスポンスに 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

コメント