# レシピのライフサイクル管理

# クイックリファレンス

タイプ リソース 説明
POST /api/packages/export/:manifest_id マニフェストに基づいてパッケージをエクスポートします。
POST /api/packages/import/:folder_id パッケージをフォルダーにインポートします。
GET /api/packages/:id ID に基づいてパッケージを取得します。
GET /api/packages/:id/download パッケージをダウンロードします。

# マニフェストに基づいたパッケージのエクスポート

マニフェストに基づいてパッケージをエクスポートします。

WARNING

このエンドポイントに対する権限を API クライアントに付与すると、生成される zip ファイルを確認することにより、レシピ、Lookup table、PubSub トピック、メッセージテンプレートなどのその他のアセットを表示することも間接的に可能になることに注意してください。

POST /api/packages/export/:id

これは非同期リクエストです。エクスポートされるパッケージの詳細を取得するには、ID に基づくパッケージの取得エンドポイントを使用します。

# URL パラメータ

名前 説明
id string
必須
エクスポートマニフェスト ID。

# サンプルリクエスト

curl  -X POST 'https://www.workato.com/api/packages/export/<manifest_id>' \
      -H 'x-user-email: <email>' \
      -H 'x-user-token: <token>'

# レスポンス

{
   "id":242,
   "operation_type":"export",
   "status":"completed",
   "export_manifest_id":3,
   "download_url":"https://www.workato-staging-assets.com/packages/zip_files/000/000/242/original/exportdemo.zip"
}

# フォルダーへのパッケージのインポート

パッケージ (zip ファイル) をフォルダーにインポートします。

WARNING

このエンドポイントに対する権限を API クライアントに付与すると、パッケージをインポートすることにより、レシピ、Lookup table、PubSub トピック、メッセージテンプレートなどのその他のアセットを作成または更新することも間接的に可能になることに注意してください。

POST /api/packages/import/:id

これは非同期リクエストです。インポートされるパッケージの詳細を取得するには、ID によるパッケージの取得エンドポイントを使用します。

入力 (zip ファイル) は、パッケージのコンテンツを含む application/octet-stream ペイロードです。インポート時に実行中のレシピを再起動する必要がある場合は、URL パラメータ restart_recipestrue にする必要があります。

# URL パラメータ

名前 説明
id string
必須
フォルダー ID。
restart_recipes boolean
任意
インポート中の実行中のレシピの再起動を許可するには、値を true にする必要があります。
実行中のレシピが存在し、このパラメータが false であるか、指定されていない場合は、パッケージはインポートできません。

# サンプルリクエスト

curl  -X POST 'https://www.workato.com/api/packages/import/<folder_id>?restart_recipes=true' \
      -H 'Authorization: Bearer <api_token>'
      -H 'Content-Type: application/octet-stream' \
      --data-binary @'path/to/local/file.zip'

# レスポンス

{
   "id":251,
   "operation_type":"import",
   "status":"completed",
   "download_url":"https://www.workato-staging-assets,com/packages/zip_files/000/000/242/original/exportdemo.zip"
}

# ID に基づくパッケージの取得

インポートまたはエクスポートされたパッケージの詳細を取得します。

GET /api/packages/:id

# URL パラメータ

名前 説明
id string
必須 パッケージ ID。

# サンプルリクエスト

curl  -X GET 'https://www.workato.com/api/packages/<package_id>' \
      -H 'x-user-email: <email>' \
      -H 'x-user-token: <token>'

# レスポンス

  • 以下は、完了したエクスポートマニフェストの取得からのレスポンスを示しています。
{
   "id":242,
   "operation_type":"export",
   "status":"completed",
   "export_manifest_id":3,
   "download_url":"https://www.workato-staging-assets,com/packages/zip_files/000/000/242/original/exportdemo.zip"
}
  • 以下は、失敗したエクスポートマニフェストの取得からのレスポンスを示しています。
{
   "id":242,
   "operation_type":"export",
   "status":"failed",
   "error":"error_message",
   "export_manifest_id":4,
   "download_url":"null"
}
  • 以下は、完了したインポートの取得からのレスポンスを示しています。

NOTE

完了したインポートについては、各レシピの import_result も確認することが重要です。返される import_result の値については、こちらを参照してください。

{
   "id":242,
   "operation_type":"export",
   "status":"completed",,
   "download_url":"https://www.workato-staging-assets,com/packages/zip_files/000/000/242/original/importdemo.zip",
   "recipe_status":[
      {
            "id": 12345,
            "import_result": "no_update_or_update_without_restart"
      },
      {
            "id": 12346,
            "import_result": "restarted"
      },
      {
            "id": 12347,
            "import_result": "stopped"
      }
   ]
}
  • 以下は、失敗したインポートの取得からのレスポンスを示しています。

NOTE

失敗したインポートについては、レシピの中にはインポートが失敗する前に更新されていないものもあるため、すべてのレシピが recipe_status で返される訳ではありません。返される import_result の値については、こちらを参照してください。

{
   "id":242,
   "operation_type":"export",
   "status":"completed",
   "download_url":"https://www.workato-staging-assets,com/packages/zip_files/000/000/242/original/importdemo.zip",
   "recipe_status":[
      {
            "id": 12345,
            "import_result": "no_update_or_update_without_restart"
      },
      {
            "id": 12346,
            "import_result": "restarted"
      },
      {
            "id": 12347,
            "import_result": "stopped"
      }
   ]
}

# レシピの import_result の値

以下の6つの結果が返される可能性があります。

  1. no_update_or_update_without_restart - これは、レシピに再起動の必要がなかったことを示しています。レシピは再起動なしで更新できたか、更新が行われなかったかのどちらかです。 インポートは成功しました。
  2. not_found - レシピが見つからず、予期しないエラーが発生しました。このエラーはまれにしか発生しません。 インポートは失敗し、レシピの更新は行われませんでした。
  3. stop_failed - 再起動する必要のあるレシピに対して、レシピを停止しようとしました。この状態は、レシピを停止できなかったことを示しています。 インポートは失敗し、レシピの更新は行われませんでした。
  4. stopped - レシピを停止しましたが、レシピ内のエラーのためにレシピは再起動されませんでした。 インポートは失敗し、レシピは更新されましたが再起動されませんでした。
  5. restart_failed - レシピの再起動を試行しましたが、再起動できませんでした。 インポートは失敗し、レシピは更新されましたが再起動されませんでした。
  6. restarted - 更新後に、正常にレシピを再起動しました。 インポートは成功しました。

# パッケージのダウンロード

パッケージをダウンロードします。

GET /api/packages/:id/download

# URL パラメータ

名前 説明
id string
必須 パッケージ ID。

# サンプルリクエスト

curl  -L -X GET 'https://www.workato.com/api/packages/<package_id>/download' \
      -H 'x-user-email: <email>' \
      -H 'x-user-token: <token>'

cURL でリダイレクトに従う

リダイレクトパスに従うには、-L フラグを使用します。

# レスポンス

成功すると、パッケージのコンテンツにリダイレクトされます。パッケージが見つからないか、コンテンツがない場合には、404 が返されます。


Last updated: 2023/8/31 1:07:14