ジョブ

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。
タイプリソース説明
GET/api/recipes/:recipe_id/jobsレシピのジョブを一覧表示します。
GET/api/recipes/:recipe_id/jobs/:job_handle1つのジョブのメタデータを返します。
POST/api/job/resume指定したresume_tokenに基づいて特定のジョブを再開します。 このエンドポイントはHTTPステータスコード204を返します。これは、レスポンスにコンテンツを含めずにリクエスト処理が成功したことを示します。 このエンドポイントはSDK Wait for resumeアクションで使用されます。
POST/api/recipes/:recipe_id/repeat_jobs指定したジョブを繰り返します。

レート制限

ジョブリソースには、次のレート制限があります:

タイプリソース制限
POSTジョブを再実行:
/api/recipes/:recipe_id/repeat_jobs
1秒あたり1リクエスト
すべてその他すべてのジョブエンドポイント1分あたり60リクエスト

さらに、ジョブの再実行には次のペイロード制限があります:

タイプリソース制限
POSTジョブを再実行:
/api/recipes/:recipe_id/repeat_jobs
1リクエストあたり25ジョブ

レシピのジョブを一覧表示する

Workatoで指定されたレシピについて、集計されたジョブ情報と詳細なジョブ情報を返します。

shell
GET /api/recipes/:recipe_id/jobs

実行時データは利用できません

実行時データとは、ジョブ実行時にレシピを通過するデータです。 これには、個々のステップからの入力データと出力データが含まれます。

このデータは、Workatoプラットフォームのジョブ詳細ページで利用できます。

パスパラメーター

名前タイプ説明
recipe_idinteger
required
レシピID。

クエリパラメーター

名前タイプ説明
offset_job_idstring
任意
オフセットジョブID。
prevboolean
optional
デフォルトはfalseです。 prev=falseの場合、この呼び出しはoffset_job_idより前に完了したジョブを返します。 prev=trueの場合、offset_job_idより新しいジョブが返されます。
statusstring
任意
ステータス(succeededfailed、またはpending)でフィルタリングします。
rerun_onlyboolean
optional
trueの場合、再実行されたジョブのみを返します。
offset_run_idinteger
(非推奨)
オフセット実行ID。 このパラメータは非推奨になりました。
failedboolean
(非推奨)
trueの場合、失敗したジョブのみを返します。 このパラメータは非推奨になりました。

サンプルリクエスト

shell
curl  -X GET 'https://www.workato.com/api/recipes/28904/jobs' \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
  "job_succeeded_count": 1,
  "job_failed_count": 1,
  "job_count": 1,
  "job_scope_count": 1,
  "items": [
    {
      "id": "j-KGAKfhsz-GYoLe",
      "completed_at": "2015-01-02T01:02:03.000Z",
      "started_at": "2015-01-02T01:02:03.000Z",
      "title": "Callable recipes by Workato: new call for recipe: Calling IP address=129.1.1.1, Access profile ID=123456, and Access profile name=recipe_test",
      "is_poll_error": false,
      "error": null,
      "is_error": false,
      "status": "succeeded",
      "calling_recipe_id": null,
      "calling_job_id": null,
      "recipe_id": 28904,
      "root_recipe_id": null,
      "root_job_id": null,
      "master_job_id": "j-UIL3NQ8L-ekbIaw-B1",
      "job_correlation_id": null
    },
    {
      "id": "j-AD9bJn99-hsCXcs",
      "completed_at": "2015-01-02T01:02:03.000Z",
      "started_at": "2015-01-02T01:02:03.000Z",
      "title": "Callable recipes by Workato: new call for recipe: Calling IP address=129.1.1.1, Access profile ID=123456, and Access profile name=recipe_test",
      "is_poll_error": false,
      "error": "Callable recipes by Workato: new call for recipe: Calling IP address=129.1.1.1, Access profile ID=123456, and Access profile name=recipe_test",
      "error_parts": {
        "adapter": "marketo",
        "error_type": "Missing required field",
        "message": "'Filter values' must be present",
        "error_id": "603260f5-a309-45b3-a20e-111d90a28917",
        "error_at": "2020-01-22T01:17:18.021-08:00",
        "input": "<redacted>",
        "inner_message": null
      },
      "is_error": true,
      "status": "failed",
      "calling_recipe_id": null,
      "calling_job_id": null,
      "recipe_id": 28904,
      "root_recipe_id": null,
      "root_job_id": null,
      "master_job_id": "j-USN6YQ8L-ekbNmw-B6",
      "job_correlation_id": null
    }
  ]
}

ジョブ相関ID

job_correlation_idは、発信元のWebhookリクエストからx-correlation-idヘッダーを返します。 静的Webhookによってトリガーされたジョブの場合に入力されます。この場合、Webhookはペイロードを直接ジョブに渡します。 このフィールドは、ハイブリッドトリガーの場合はnullです。この場合、Webhookは時間ベースのポーラーに実行を通知するだけで、ヘッダーメタデータは保持されません。

ジョブを取得する

ジョブIDに基づいて、単一ジョブのメタデータを返します。

shell
GET /api/recipes/:recipe_id/jobs/:job_id

実行時データは利用できません

実行時データとは、ジョブ実行時にレシピを通過するデータです。 これには、個々のステップからの入力データと出力データが含まれます。

このデータは、Workatoプラットフォームのジョブ詳細ページで利用できます。

パスパラメーター

名前タイプ説明
recipe_idinteger
required
レシピID。
job_idstring
必須
ジョブの一意の識別子。 レシピのジョブを一覧表示するエンドポイント、またはWorkatoのジョブページを使用して、ジョブIDを取得できます。

サンプルリクエスト

shell
curl  -X GET 'https://www.workato.com/api/recipes/32723612/jobs/j-AJTAt8w6-wdAgWM' \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
  "id": "j-AJTAt8w6-wdAgWM",
  "handle": "j-AJTAt8w6-wdAgWM",
  "recipe_id": 32723676,
  "completed_at": "2023-09-08T13:55:24.731-07:00",
  "started_at": "2023-09-08T13:55:24.606-07:00",
  "title": "Scheduler by Workato: new recurring event: Scheduled time=2023-09-08T13:55:24.177301-07:00, Scheduled day=Friday, and Scheduled week=36",
  "is_poll_error": false,
  "lines": [
    {
      "recipe_line_number": 0,
      "adapter_name": "clock",
      "adapter_operation": "scheduled_event",
      "input": {
        "time_unit": "minutes",
        "trigger_every": "5"
      },
      "output": {
        "scheduled_time": "2023-09-08T13:55:24.177301-07:00",
        "scheduled_day": "Friday",
        "scheduled_week": 36,
        "scheduled_month": "September",
        "last_job_time": "2023-09-08T12:05:31.000000-07:00"
      },
      "mask_data": false,
      "line_stat": {
        "total": 0.0034586129913805053,
        "details": [
          {
            "name": "map_input",
            "count": 1,
            "average": 0.0032869009883143008,
            "total": 0.0032869009883143008,
            "min": 0.0032869009883143008,
            "max": 0.0032869009883143008
          },
          {
            "name": "summarize_output_report",
            "count": 1,
            "average": 0.000025447006919421256,
            "total": 0.000025447006919421256,
            "min": 0.000025447006919421256,
            "max": 0.000025447006919421256
          },
          {
            "name": "event_title",
            "count": 1,
            "average": 0.00013735999527852982,
            "total": 0.00013735999527852982,
            "min": 0.00013735999527852982,
            "max": 0.00013735999527852982
          },
          {
            "name": "summarize_input_report",
            "count": 1,
            "average": 0.00000890500086825341,
            "total": 0.00000890500086825341,
            "min": 0.00000890500086825341,
            "max": 0.00000890500086825341
          }
        ]
      }
    }
  ],
  "error": null,
  "is_error": false,
  "is_repeat": false,
  "is_test": false,
  "is_test_case_job": false,
  "master_job_id": "j-AJTAt8w6-wdAgWM",
  "master_job_handle": "j-AJTAt8w6-wdAgWM",
  "status": "succeeded",
  "calling_recipe_id": null,
  "calling_job_id": null,
  "calling_job_handle": null,
  "root_recipe_id": null,
  "root_job_id": null,
  "job_correlation_id": null
}

ジョブ相関ID

job_correlation_idは、発信元のWebhookリクエストからx-correlation-idヘッダーを返します。 静的Webhookによってトリガーされたジョブの場合に入力されます。この場合、Webhookはペイロードを直接ジョブに渡します。 このフィールドは、ハイブリッドトリガーの場合はnullです。この場合、Webhookは時間ベースのポーラーに実行を通知するだけで、ヘッダーメタデータは保持されません。

ジョブを再開する

指定したresume_tokenに基づいて特定のジョブを再開します。 このエンドポイントはHTTPステータスコード204を返します。これは、レスポンスにコンテンツを含めずにリクエスト処理が成功したことを示します。

このエンドポイントは、サードパーティアプリがSDK Wait for resumeアクションを使用するときに呼び出されます。

shell
POST /api/job/resume

リクエスト本文

名前タイプ説明
tokenstring
必須
再開する特定のジョブに一致するresume_token
datahash
optional
ジョブに返す任意のコンテキストデータ。 このデータは、before_resumeラムダのアクションからアクセスできます。 ペイロードの制限は50MBです。 制限を超えるペイロードの場合は、参照を送信し、アクションのexecuteラムダがデータを取得するための2次リクエストを実行できるようにします。

サンプルリクエスト

shell
curl -X POST http://www.workato.com/api/job/resume \
     -H "Authorization: Bearer <api_token>" \
     -H "Content-Type: application/json" \
     -d '{
       "token": "<resume_token>",
       "data":  {...}
     }'

ジョブを繰り返す

マスタージョブIDで指定したジョブを繰り返します。 再実行では最新のレシピバージョンが使用されます。

shell
POST /api/recipes/:recipe_id/repeat_jobs

制限事項

Repeat jobsエンドポイントには次の制限事項があります:

  • リテンション期間内のジョブのみ再実行できます。 トリガーイベントデータを保持しないレシピ内のジョブは再実行できません。 詳細については、データリテンションポリシーを参照してください。
  • 各リクエストで最大25件のジョブを再実行できます。
  • 各ジョブは最大100回再実行できます。
  • ジョブはマスタージョブIDを使用してのみ再実行でき、以前の再実行のIDは使用できません。

パスパラメータ

名前タイプ説明
recipe_idstring
必須
ジョブを再実行するレシピのID。

リクエスト本文

名前タイプ説明
job_idsarray
必須
再実行するマスタージョブのIDを含みます。 レシピのジョブを一覧表示するエンドポイント、またはWorkatoのジョブページを使用して、master_job_idを取得できます。

サンプルリクエスト

shell
curl -X POST 'https://www.workato.com/api/recipes/51325710/repeat_jobs' \
     -H "Authorization: Bearer <api_token>" \
     -H "Content-Type: application/json" \
     -d '{
          "job_ids": [
            "j-AJTAt8w6-wdAgWM",
            "j-BK9nR5ft-xeAEXN",
            "j-AY4oD6g8-hdINaS",
            "j-AOidEfa9-4MdaTF"
            ]
          }'

レスポンス

200 OK

200 OKステータスは、リクエストが正常に処理されたことを示します。 各ジョブのステータスはresults配列で、合計はsummaryで確認します。

json
{
  "results": [
    {
      "requested_job_id": "j-AJTAt8w6-wdAgWM",
      "status": "enqueued",
      "job": {
        "id": "j-DN1pT7hv-zgFLZP"
      }
    },
    {
      "requested_job_id": "j-BK9nR5ft-xeAEXN",
      "status": "failed",
      "error": {
        "type_id": "err.item.not_found",
        "message": "Job not found"
      }
    },
    {
      "requested_job_id": "j-AY4oD6g8-hdINaS",
      "status": "failed",
      "error": {
        "type_id": "err.job.repeat.invalid_id",
        "message": "Non-master job handle specified: j-AY4oD6g8-hdINaS"
      }
    },
    {
      "requested_job_id": "j-AOidEfa9-4MdaTF",
      "status": "failed",
      "error": {
        "type_id": "err.job.repeat.trigger_data_unavailable.expired",
        "message": "Can not repeat job j-AOidEfa9-4MdaTF. It has been erased due to retention policy."
      }
    }
  ],
  "summary": {
    "total_requested": 4,
    "total_enqueued": 1,
    "total_failed": 3
  }
}
400 Bad Request

複数の理由で400 Bad Requestエラーが発生する場合があります。 たとえば、リクエストに25件を超えるジョブ、空のjob_ids配列、重複するjob_ids、または不正な形式の配列が含まれている場合です。 詳細については、400 Bad Requestトラブルシューティングガイドを参照してください。

json
{ "message": "Maximum 25 jobs can be repeated in a single request. Received 75." }
json
{ "message": "param is missing or the value is empty or invalid: job_ids" }

Last updated: