# レシピライフサイクル管理
GLOSSARY
マニフェスト: レシピ、ルックアップテーブル、接続など、さまざまなアセットを含むコンテナ。
パッケージ: マニフェストのビルド。マニフェスト内の各アセットのソースコードを含みます。パッケージ作成時に利用可能なアセットの最新バージョンが含まれています。
# クイックリファレンス
タイプ | リソース | 説明 |
---|---|---|
POST | api/export_manifests | エクスポートマニフェストを作成します。 |
PUT | api/export_manifests/:id | エクスポートマニフェストを更新します。 |
GET | api/export_manifests/:id | エクスポートマニフェストを表示します。 |
POST | /api/packages/export/:manifest_id | マニフェストに基づいてパッケージをエクスポートします。 |
POST | /api/packages/import/:folder_id | フォルダにパッケージをインポートします。 |
GET | /api/packages/:id | IDによるパッケージの取得。 |
GET | /api/packages/:id/download | パッケージのダウンロード。 |
# エクスポートマニフェストの作成
エクスポートマニフェストを作成します。
POST /api/export_manifests
# ペイロード
名前 | タイプ | 説明 |
---|---|---|
name | string 必須 | 新しいマニフェストの名前。 |
assets | object 必須 | 依存するアセット。 |
id | integer 必須 | 依存関係のID。 |
type | string 必須 | 依存するアセットのタイプ。 |
checked | boolean オプション | アセットがマニフェストに含まれるかどうかを決定します。デフォルトは true です。 |
version | integer オプション | アセットのバージョン。デフォルトは最新バージョンです。 |
folder | string オプション | アセットを含むフォルダ。デフォルトは "" です。 |
absolute_path | string オプション | アセットの絶対パス。デフォルトはルートフォルダです。 |
root_folder | boolean オプション | ルートフォルダの名前。デフォルトは false です。 |
unreachable | boolean オプション | アセットが到達不能かどうか。デフォルトは false です。 |
zip_name | string オプション | エクスポートされたzipファイルの名前。デフォルトでは、Workatoはこの構造で名前を自動生成します:asset_#{index}.#{type}.json 。 |
folder_id | integer オプション | アセットを含むフォルダのID。デフォルトはルートフォルダです。 |
# サンプルリクエスト
curl -X POST 'https://www.workato.com/api/export_manifests' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"export_manifest": {
"name": "テストマニフェスト",
"assets": [
{
"id": 12,
"name": "レシピopsのコピー",
"type": "recipe",
"version": 1,
"folder": "",
"absolute_path": "すべてのプロジェクト",
"root_folder": false,
"unreachable": false,
"zip_name": "copy_of_recipeops.recipe.json",
"checked": true
}
],
"folder_id": 112
}
}
'
# レスポンス
{
"result": {
"id": 12,
"name": "テストマニフェスト",
"last_exported_at": null,
"created_at": "2023-02-27T02:44:59.447-08:00",
"updated_at": "2023-02-27T02:44:59.447-08:00",
"deleted_at": null,
"project_path": "フォルダ1",
"status": "working"
}
}
# 可能なステータス
ステータス | 定義 |
---|---|
working | アクティブです。 |
archived | 削除されました。 |
# エクスポートマニフェストの更新
エクスポートマニフェストを更新します。
PUT /api/export_manifests/:id
# URLパラメータ
名前 | タイプ | 説明 |
---|---|---|
id | integer string | 依存関係のIDです。 |
# ペイロード
assets[]
に含まれるプロパティを更新して、以前に定義されたアセットを置き換えます。
名前 | タイプ | 説明 |
---|---|---|
name | string optional | マニフェストの名前。この値を更新してマニフェストの名前を変更します。デフォルトは以前の名前です。 |
assets | object required | 依存するアセット。 |
id | integer required | 依存関係のIDです。 |
type | string required | 依存するアセットのタイプです。 |
checked | boolean optional | アセットがマニフェストに含まれるかどうかを決定します。デフォルトは true です。 |
version | integer optional | アセットのバージョンです。デフォルトは最新バージョンです。 |
folder | string optional | アセットを含むフォルダです。デフォルトは "" です。 |
absolute_path | string optional | アセットの絶対パスです。デフォルトはルートフォルダです。 |
root_folder | boolean optional | ルートフォルダの名前です。デフォルトは false です。 |
unreachable | boolean optional | アセットが到達不能かどうかを示します。デフォルトは false です。 |
zip_name | string optional | エクスポートされたzipファイルの名前です。デフォルトでは、Workatoはこの構造で名前を自動生成します:asset_#{index}.#{type}.json 。 |
folder_id | integer optional | アセットを含むフォルダのIDです。デフォルトはルートフォルダです。 |
# サンプルリクエスト
curl -X PUT 'https://www.workato.com/api/export_manifests/12' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"export_manifest": {
"name": "テストマニフェスト",
"assets": [
{
"id": 12,
"name": "レシピオプスのコピー",
"type": "recipe",
"version": 1,
"folder": "",
"absolute_path": "すべてのプロジェクト",
"root_folder": false,
"unreachable": false,
"zip_name": "copy_of_recipeops.recipe.json",
"checked": true
}
],
"folder_id": 112
}
}
'
# レスポンス
{
"result": {
"id": 12,
"name": "テストマニフェスト",
"last_exported_at": null,
"created_at": "2023-02-27T02:44:59.447-08:00",
"updated_at": "2023-02-27T02:44:59.447-08:00",
"deleted_at": null,
"project_path": "フォルダ1",
"status": "working"
}
}
# エクスポートマニフェストの表示
エクスポートマニフェストを表示します。
GET /api/export_manifests/:id
# URLパラメータ
名前 | タイプ | 説明 |
---|---|---|
id | integer string | 依存関係のIDです。 |
# サンプルリクエスト
curl -X GET 'https://www.workato.com/api/export_manifests/12' \
-H 'Authorization: Bearer <api_token>'
# レスポンス
{
"result": {
"id": 12,
"name": "テストマニフェスト",
"last_exported_at": null,
"created_at": "2023-02-27T02:44:59.447-08:00",
"updated_at": "2023-02-27T02:44:59.447-08:00",
"deleted_at": null,
"project_path": "フォルダー1",
"status": "動作中"
}
}
# マニフェストに基づいてパッケージをエクスポートする
マニフェストに基づいてパッケージをエクスポートします。
WARNING
このエンドポイントへの特権を持つAPIクライアントを提供することで、結果のzipファイルを調べることで、レシピ、ルックアップテーブル、パブサブトピック、メッセージテンプレートなどの他のアセットを表示する能力を間接的に与えることに注意してください。
POST /api/packages/export/:id
これは非同期リクエストです。エクスポートされたパッケージの詳細を取得するには、IDでパッケージを取得するエンドポイントを使用してください。
# URLパラメータ
名前 | タイプ | 説明 |
---|---|---|
id | string 必須 | エクスポートマニフェストのID。 |
# サンプルリクエスト
curl -X POST 'https://www.workato.com/api/packages/export/<manifest_id>' \
-H 'Authorization: Bearer <api_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クライアントを提供することで、パッケージのインポートを通じてレシピ、ルックアップテーブル、パブサブトピック、メッセージテンプレートなどの他のアセットの作成/更新の能力を間接的に与えることに注意してください。
POST /api/packages/import/:id
これは非同期リクエストです。インポートされたパッケージの詳細を取得するには、IDでパッケージを取得するエンドポイントを使用してください。
入力(zipファイル)は、パッケージのコンテンツを含むapplication/octet-stream
ペイロードです。URLパラメータrestart_recipesは、インポート時に実行中のレシピを再起動するためにtrue
である必要があります。
# 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 'Authorization: Bearer <api_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"
}
]
}
# Recipe import_resultの値
合計6つの可能な結果があります:
no_update_or_update_without_restart
- レシピに再起動が必要ないことを示します。レシピを更新せずに更新できるか、更新が行われなかったことを示します。インポートに成功しましたnot_found
- レシピが見つからないときの予期しないエラーです。頻繁に表示されるべきではありません。レシピの更新なしでインポートに失敗しましたstop_failed
- 再起動が必要なレシピに対して、レシピの停止を試みます。この状態は、レシピを停止できなかったことを示します。レシピの更新なしでインポートに失敗しましたstopped
- Workatoはレシピを停止しましたが、レシピにエラーがあるため再起動されませんでした。レシピの更新ありでインポートに失敗しましたrestart_failed
- Workatoはレシピの再起動を試みましたが、失敗しました。レシピの更新ありでインポートに失敗しましたrestarted
- Workatoはレシピを正常に再起動しました。インポートに成功しました
# パッケージのダウンロード
パッケージをダウンロードします。
GET /api/packages/:id/download
# URLパラメータ
名前 | タイプ | 説明 |
---|---|---|
id | string 必須 | パッケージのID。 |
# サンプルリクエスト
curl -L -X GET 'https://www.workato.com/api/packages/<package_id>/download' \
-H 'Authorization: Bearer <api_token>'
cURLでリダイレクトをフォローする
リダイレクトパスをたどるには、-L
フラグを使用します。
# レスポンス
成功した場合、パッケージの内容にリダイレクトされます。パッケージが見つからないか、内容がない場合は404
が返されます。
Last updated: 2024/2/13 16:59:53