ワークフローエンドポイント
Workflow Endpoints and Parameters
オブジェクト関係に関する詳細とAPIでの使用方法については、 オブジェクト関係 のセクションを参照してください。
ワークフローの詳細については、「 ワークフロー 」に関するヘルプページを参照してください。
新しいワークフローをアップロードする
新しいワークフローをアップロードするには、
POST {baseURL}/v3/workflows
エンドポイントを使用します。
パラメーター
file (ファイル): 必須です。システムにアップロードする実際のファイルを選択します。メディアタイプはYXZPファイルである必要があります。
name (文字列): 必須です。ワークフロー名を入力します。Server UIに表示するワークフローの名前です。
ownerId (文字列): 必須です。所有者の名前を入力します。
workerTag (文字列): オプションです。ワーカーで定義されたワーカータグを指定して、特定のワーカーノードにジョブを割り当てる際に役立てることができます。詳細については、 ワーカー のヘルプページを参照してください。
districtTags (文字列): オプションです。JSON形式の配列(例: ["id1", "id2"])で送信します。ディストリクトを使用すると、共有されたパブリックワークフローをタグでグループ化し、ユーザーが簡単に見つけられるようにすることができます。詳細については、「 ディストリクト 」ヘルプページを参照してください。
comments (文字列): オプションです。コメントを入力します。
isPublic (ブール型): 必須です。ワークフローを公開する場合は、「true」を選択します。ワークフローを非公開にして利用できないようにする場合は、「false」を選択します。
isReadyForMigration (ブール型): 必須です。このワークフローを移行対象にするか否かを選択します。あるServer環境から別のServer環境への移行の詳細については、「 ワークフローを移行できるようにする 」ヘルプページを参照してください。
sourceAppId (文字列): オプションです。ワークフローのソースアプリケーション ID を設定します。
POST admin/v1/workflows
エンドポイントの「sourceId」リファレンスとして使用できます。既存のsourceAppIdを指定すると、リクエストが無効になります。othersMayDownload (ブール型): 必須です。他のユーザーによるこのワークフローのダウンロードを可能にするか否かを指定します。
othersCanExecute (ブール型): 必須です。他のユーザーによるこのワークフローの実行を可能にするか否かを指定します。
executionMode (文字列): 必須です。使用可能な値は「Safe」、「SemiSafe」、「Standard」です。実行モードの詳細については、「 セーフモードおよび準セーフ実行モード: ブロックされるツール、イベント、データコネクタ 」ヘルプページを参照してください。
hasPrivateDataExemption (ブール型): オプションです。プライベートデータを含むワークフローを実行できるように、適用除外を設定します。適用除外を許可する場合は「true」、適用除外を許可しない場合は「false」を選択します。詳細については、「 Admin (管理者)のワークフローオプション 」ページを参照してください。
workflowCredentialType (文字列): 必須です。使用できる値は、「Default」(既定)、「Required」(必須)、「Specific」(指定)です。
credentialId (文字列): オプションです。このワークフローの credentialId を指定します。
collectionIds (文字列): オプションです。このワークフローを追加する collectionId を入力します。JSON形式の配列(例: ["id1", "id2"])で送信します。
curl -X 'POST' \ 'http://localhost/webapi/v3/workflows' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere' \ -H 'Content-Type: multipart/form-data' \ -F 'file=@Workflow2.yxzp;type=application/yxzp' \ -F 'name=Workflow2' \ -F 'ownerId=66ebd0896e52ae73b4951072' \ -F 'isPublic=true' \ -F 'isReadyForMigration=true' \ -F 'othersMayDownload=true' \ -F 'othersCanExecute=false' \ -F 'executionMode=Standard' \ -F 'workflowCredentialType=Default'
200: OK
"string"
400: BadRequest
401: Unauthorized
既存ワークフローに新しいバージョンをアップロードする
既存のワークフローに新しいバージョンをアップロードするには、
POST {baseURL}/v3/workflows/{workflowId}/versions
エンドポイントを使用します。
パラメーター
workflowId (文字列): 必須です。新しいバージョンをアップロードするワークフローIDを入力します。
file (ファイル): 必須です。新しいバージョンとしてシステムにアップロードする実際のファイルを選択します。メディアタイプはYXZPファイルである必要があります。
name (文字列): 必須です。ワークフロー名を入力します。Server UIに表示するワークフローの名前です。
ownerId (文字列): 必須です。所有者の名前を入力します。
othersMayDownload (ブール型): 必須です。既定は「true」に設定されています。
othersCanExecute (ブール型): 必須です。既定は「true」に設定されています。
executionMode (文字列): 必須です。使用可能な値は「Safe」、「SemiSafe」、「Standard」です。実行モードの詳細については、「 セーフモードおよび準セーフ実行モード: ブロックされるツール、イベント、データコネクタ 」ヘルプページを参照してください。
hasPrivateDataExemption (ブール型): オプションです。プライベートデータを含むワークフローを実行できるように、適用除外を設定します。適用除外を許可する場合は「true」、適用除外を許可しない場合は「false」を選択します。詳細については、「 Admin (管理者)のワークフローオプション 」ページを参照してください。
comments (文字列): オプションです。コメントを入力します。
makePublished (ブール型): 必須です。既定は「true」に設定されています。makePublishedパラメーターは、Serverにプッシュするワークフローの新しいバージョンを公開バージョンとするか否かを制御するためのものです。ワークフローをServerにプッシュする際に値を「false」に設定することで、自分だけが実行することができるようになります。
workflowCredentialType (文字列): 必須です。このワークフローに使用する資格情報タイプを入力します。使用できる値は、「Default」(既定)、「Required」(必須)、「Specific」(指定)です。
credentialId (文字列): オプションです。このワークフローのcredentialIdを指定します。資格情報エンドポイントの詳細については、「 資格情報エンドポイント 」を参照してください。
curl -X 'POST' \ 'http://localhost/webapi/v3/workflows/66ebd18d6e52ae73b4951085/versions' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere' \ -H 'Content-Type: multipart/form-data' \ -F 'file=@Workflow3.yxzp;type=application/yxzp' \ -F 'name=Workflow1_3' \ -F 'ownerId=66ebd0896e52ae73b4951072' \ -F 'othersMayDownload=true' \ -F 'othersCanExecute=true' \ -F 'executionMode=Standard' \ -F 'makePublished=true' \ -F 'workflowCredentialType=Default'
200: OK
{ "id": "string", "sourceAppId": "string", "dateCreated": "2024-09-19T07:33:01.072Z", "runCount": 0, "versions": [ { "versionId": "string", "versionNumber": 0, "dateCreated": "2024-09-19T07:33:01.072Z", "uploadSource": "Designer", "uploadDate": "2024-09-19T07:33:01.072Z", "packageWorkflowType": "App", "published": true, "comments": "string", "runDisabled": true, "executionMode": "Safe", "workflowCredentialType": "Default", "credentialId": "string", "hasPrivateDataExemption": true, "othersMayDownload": true, "othersCanViewHistory": true, "details": { "isAmp": true, "fileName": "string", "author": "string", "copyright": "string", "description": "string", "name": "string", "noOutputFilesMessage": "string", "outputMessage": "string", "url": "string", "urlText": "string" } } ], "name": "string", "ownerId": "string", "workerTag": "string", "districtTags": [ "string" ], "comments": "string", "isPublic": true, "isReadyForMigration": true, "publishedVersionId": "string", "othersMayDownload": true, "othersCanViewHistory": true, "othersCanExecute": true, "executionMode": "Safe", "hasPrivateDataExemption": true }
401: BadRequest
401: Unauthorized
404: Indicates that the workflowId in the path is invalid.
すべてのワークフローを取得する
すべてのワークフローレコードに関する情報を取得するには、
GET {baseURL}/v3/workflows/
エンドポイントを使用します。
パラメーター
view (文字列): オプションです。ワークフロー情報の表示方法を選択します。値を指定しないこともできます。値は「Default」(既定)と「Full」(完全)から選択できます。このパラメーターを「Default」(既定)に設定すると、縮小表示オブジェクトが返されます。指定しない場合は、「Default」(既定)の値が使用されます。
name (文字列): オプションです。ワークフローを名前でフィルタリングする場合に備えて、ワークフローの名前を入力します。Server UIに表示するワークフローの名前です。
ownerId (文字列): オプションです。ワークフローを所有者でフィルタリングする場合に備えて、所有者のIDを入力します。
createdAfter (文字列): オプションです。ワークフローが作成された後の日付と時刻を入力します。日付と時刻を ISO8601形式 で入力します。
createdBefore (文字列): オプションです。ワークフローが作成される前の日付と時刻を入力します。日付と時刻を ISO8601形式 で入力します。
curl -X 'GET' \ 'http://localhost/webapi/v3/workflows' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere'
200: OK
{ "id": "string", "sourceAppId": "string", "name": "string", "ownerId": "string", "dateCreated": "2024-08-15T11:14:56.965Z", "publishedVersionNumber": 0, "isAmp": true, "executionMode": "Safe" } ]
400: BadRequest
401: Unauthorized
特定のワークフローレコードを取得する
特定のワークフローに関する情報を取得するには、
GET {baseURL}/v3/workflows/{workflowId}
エンドポイントを使用します。
注記
Non-Curators can use the GET v3/workflows/{workflowId}
endpoint for workflows they have access to. Previously, this endpoint was limited to Curators only.
パラメーター
workflowId (文字列): 必須です。このワークフローに関する情報を取得するには、ワークフローIDを入力します。
curl -X 'GET' \ 'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere'
200: OK
{ "id": "string", "sourceAppId": "string", "dateCreated": "2024-09-05T10:42:53.360Z", "runCount": 0, "versions": [ { "versionId": "string", "versionNumber": 0, "dateCreated": "2024-09-05T10:42:53.360Z", "uploadSource": "Designer", "uploadDate": "2024-09-05T10:42:53.360Z", "packageWorkflowType": "App", "published": true, "comments": "string", "runDisabled": true, "executionMode": "Safe", "workflowCredentialType": "Default", "credentialId": "string", "hasPrivateDataExemption": true, "othersMayDownload": true, "othersCanViewHistory": true, "details": { "isAmp": true, "fileName": "string", "author": "string", "copyright": "string", "description": "string", "name": "string", "noOutputFilesMessage": "string", "outputMessage": "string", "url": "string", "urlText": "string" } } ], "name": "string", "ownerId": "string", "workerTag": "string", "districtTags": [ "string" ], "comments": "string", "isPublic": true, "isReadyForMigration": true, "publishedVersionId": "string", "othersMayDownload": true, "othersCanViewHistory": true, "othersCanExecute": true, "executionMode": "Safe", "hasPrivateDataExemption": true }
401: Unauthorized
404: NotFound
既存のワークフローを更新する
既存のワークフローに関する情報を変更するには、
PUT {baseURL}/v3/workflows/{workflowId}
endpointを使用します。
注記
Only Curators can use this API endpoint.
ownerIdを変更するには、新しい所有者が現在の所有者と同じサブスクリプションにある必要があります。
パラメーター
workflowId (文字列): 必須です。更新するワークフローのIDを入力します。
updateWorkflowContract (本文): 必須です。更新するワークフロー情報を入力します。
name (string): Required. Enter the workflow name. This is the name of the workflow to display in Server UI.
versionId (string): Required. Enter the version ID.
makePublished (boolean): Optional. When not specified, the value stays the same as before. The makePublished parameter is a way to control whether the new version of a workflow that you push to Server should be the published version or not. You can set the value to "false" when you push the workflow to Server, and then only you will have the ability to run it.
ownerId (string): Required. Enter the owner ID.
workerTag (string): Required. When there is no workerTag, use "" instead.
districtTags (string): Required. Enter the district tags. Use districts to group shared, public workflows by tags so that users can easily find them. For more information, visit the Districts help page.
comments (string): Required. Enter your comments.
isPublic (boolean): Optional. When not specified, the value stays the same as before.
isReadyForMigration (boolean): Optional. When not specified, the value stays the same as before.
othersMayDownload (boolean): Optional. When not specified, the value stays the same as before. When set to "false" for a public workflow, the workflow will be unusable.
othersCanExecute (boolean): Optional. When not specified, the value stays the same as before. When set to "false" for a public workflow, the workflow will be unusable.
executionMode (string): Optional. Accepted values are "Safe", "SemiSafe", "Standard". For more information about the execution mode, see the Safe and Semi-safe Run Modes: Blocked Tools, Events, and Data Connectors help page.
hasPrivateDataExemption (boolean): Optional. Give an exemption to allow a workflow with private data to run. Select "true" to allow an exemption or "false" to deny an exemption. When not specified, the value stays the same as before. For more information, visit the Workflow Options in Admin page.
workflowCredentialType (string): Optional. Accepted values are "Default", "Required", and "Specific".
credentialId (string): Optinal. Specify the credentialId for this workflow.
Example value of updateWorkflowContract:
{ "name": "string", "versionId": "string", "makePublished": true, "ownerId": "string", "workerTag": "string", "districtTags": [ "string" ], "comments": "string", "isPublic": true, "isReadyForMigration": true, "othersMayDownload": true, "othersCanExecute": true, "executionMode": "Safe", "hasPrivateDataExemption": true, "workflowCredentialType": "Default", "credentialId": "string" }
curl -X 'PUT' \ 'http://localhost/webapi/v3/workflows/66ebd18d6e52ae73b4951085' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere' \ -H 'Content-Type: application/json' \ -d '{ "name": "Workflow_3_4", "versionId": "66ebd18d3d6200007e000d89", "makePublished": true, "ownerId": "66ebd0896e52ae73b4951072", "workerTag": "", "districtTags": [], "comments": "nothing", "isPublic": true, "isReadyForMigration": true, "othersMayDownload": true, "othersCanExecute": true, "executionMode": "Safe", "hasPrivateDataExemption": true, "workflowCredentialType": "Default", "credentialId": "" }'
200: OK
{ "id": "string", "sourceAppId": "string", "dateCreated": "2024-08-15T11:20:45.231Z", "runCount": 0, "versions": [ { "versionId": "string", "versionNumber": 0, "dateCreated": "2024-08-15T11:20:45.231Z", "uploadSource": "Designer", "uploadDate": "2024-08-15T11:20:45.231Z", "packageWorkflowType": "App", "published": true, "comments": "string", "runDisabled": true, "executionMode": "Safe", "workflowCredentialType": "Default", "credentialId": "string", "hasPrivateDataExemption": true, "othersMayDownload": true, "othersCanViewHistory": true, "details": { "isAmp": true, "fileName": "string", "author": "string", "copyright": "string", "description": "string", "name": "string", "noOutputFilesMessage": "string", "outputMessage": "string", "url": "string", "urlText": "string" } } ], "name": "string", "ownerId": "string", "workerTag": "string", "districtTags": [ "string" ], "comments": "string", "isPublic": true, "isReadyForMigration": true, "publishedVersionId": "string", "othersMayDownload": true, "othersCanViewHistory": true, "othersCanExecute": true, "executionMode": "Safe", "hasPrivateDataExemption": true }
400: BadRequest
401: Unauthorized
404: NotFound
ワークフローパッケージをダウンロードする
ワークフローパッケージをダウンロードするには、
GET {baseURL}/v3/workflows/{workflowId}/package
エンドポイントを使用します。
パラメーター
workflowId (文字列): 必須です。パッケージをダウンロードするワークフローIDを入力します。
versionId (文字列): オプションです。ワークフローの特定のバージョンIDを入力します。バージョンを指定しない場合は、公開されたバージョンがダウンロードされます。
注記
versionIDが2桁の場合、サイズ制限に達し、「414 - URI Too Long」というエラーが表示される可能性があります。この場合、JSONのversionID文字列を解析して、最新バージョンのみにトリミングしてください。これにより、フィールドの長さが制御されます。
リクエストの例: cURL
curl -X GET --header 'Accept: application/octet-stream' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a4be7dc6e24bb8ff0/package'
Response Example
200: The download stream of the YXZP file.
400: Invalid VersionId
401: Unauthorized
403: The authenticated user does not have permission to download the workflow, or the workflow is not allowed to be downloaded directly.
404: NotFound
ワークフローの質問情報を取得する
ワークフローの質問情報を取得するには、
GET {baseURL}/v3/workflows/{workflowId}/questions
エンドポイントを使用します。
パラメーター
workflowId (文字列): 必須です。情報を取得するワークフローIDを入力します。
versionId (文字列): オプションです。ワークフローの特定のバージョンIDを入力します。バージョンを指定しない場合は、公開されたバージョンが使用されます。
curl -X 'GET' \ 'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3/questions' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere'
200: OK
[ { "name": "string", "questionType": "string", "description": "string", "value": "string", "multiple": true, "items": [ { "key": "string", "value": "string" } ] } ]
400: BadRequest
401: Unauthorized
403: The authenticated user does not have access to the workflow or questions.
404: NotFound
特定のワークフローのジョブに関する情報を取得する
特定のワークフローのジョブに関する情報を取得するには、
GET {baseURL}/v3/workflows/{workflowId}/jobs
エンドポイントを使用します。
注記
A job might be returned as Completed even if the query status is Error. This indicates an error occurred during execution, but the workflow was run.
パラメーター
workflowId (文字列): 必須です。情報を取得するワークフローIDを入力します。
sortField (文字列): オプションです。
direction (文字列): オプションです。
offset (文字列): オプションです。
limit (文字列): オプションです。
status (string): Optional. The overall status of the job execution. A completed job might still have failed. Accepted values are: "Complete", "Error", "Running", and "Queued".
resultCode (string): Optional. The result code of the execution of a workflow. This indicates a failed workflow, but a successful job. Accepted values are: "Success", "Warning", and "Error".
curl -X 'GET' \ 'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3/jobs' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere'
200: OK
[ { "id": "string", "createDate": "2024-08-15T11:29:53.357Z", "status": "Created", "priority": "string", "workerTag": "string", "runWithE2": true } ]
400: BadRequest
401: Unauthorized
404: NotFound
ワークフローを削除する
特定のワークフローを削除するには、
DELETE {baseURL}/v3/workflows/{workflowId}
エンドポイントを使用します。
注記
Only Curators can use this API endpoint.
パラメーター
workflowId (文字列): 必須です。削除するワークフローIDを入力します。
force (ブール型): オプションです。選択しない場合は、既定値が「false」になります。ワークフローがスケジュールされている場合、パラメーターを「true」に設定すると、ワークフローを削除する前にすべてのスケジュールが削除されます。
curl -X 'DELETE' \ 'http://localhost/webapi/v3/workflows/670ce95bf10214f22a665bc4' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere'
200: OK
400: BadRequest
401: Unauthorized
404: NotFound
新しいジョブを作成する
新しいジョブを作成してキューに追加するには、
POST/v3/workflows/{workflowId}/jobs
エンドポイントを使用します。
パラメーター
workflowId (文字列): 必須です。スケジュールするワークフローIDを入力します。
contract (本文): 新しいジョブを作成するには、次のパラメーターを指定します。
workerTag (文字列): オプションです。割り当てられたワーカーを指定します。指定しない場合、値は「none」になります。
credentialId (文字列): オプションです。このワークフローのcredentialIdを指定します。
questions (文字列): オプションです。分析アプリの場合は、質問と回答を指定してワークフローを実行します。
name (string): Optional.
value (string): Optional.
priority (文字列): オプションです。実行するスケジュールの優先度を指定します。「Low」(低)、「Medium」(中)、「High」(高)、「Critical」(重大)のいずれかのオプションを選択します。指定しない場合、既定値は「Low」になります。
Example value of contract:
{ "workerTag": "string", "credentialId": "string", "questions": [ { "name": "string", "value": "string" } ], "priority": "Default" }
Example of a request to create a job:
curl -X 'POST' \ 'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3/jobs' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere' \ -H 'Content-Type: application/json' \ -d '{ "workerTag": "", "credentialId": "", "priority": "Low" }'
200: OK
{ "id": "string", "appId": "string", "createDateTime": "2024-09-05T11:13:04.586Z", "status": "string", "disposition": "string", "outputs": [ { "id": "string", "availableFormats": [ "string" ], "fileName": "string" } ], "messages": [ { "status": 0, "text": "string", "toolId": 0 } ], "priority": "Default", "workerTag": "string", "runWithE2": true }
400: BadRequest
401: Unauthorized
403: The authenticated user does not have access to execute the workflow.
404: NotFound
Transfer Workflows and Schedules to a Specified Owner
To transfer a specific workflow to a specific owner, together with schedules if desired, use the PUT {baseURL}/v3/workflows/{workflowId}/transfer
endpoint.
注記
Only Curators can use this API endpoint.
If any of the workflows require DCM connections, Server connections, or specific run as credentials to run, these items need to be updated before the workflow can run.
If users are not in the same studio and when a workflow is transferred to the new studio, all other users in the new owner's studio will also receive access to the workflow, and all users from the old studio will lose access.
Workflows can only be transferred to a user with the Artisan or Curator role.
If transferring schedules, the new owner must have access to the scheduled workflow, otherwise you won’t be able to transfer that workflow to the new owner.
If transferring schedules, the new owner must have permission to schedule workflows.
If the user is deleted, it returns a list of schedule Ids that will be broken or disabled after transfer.
Parameters
workflowId (string): Required. Specify the Id of the workflow to transfer.
contract (body): Required. Specify the following information:
ownerId (string): Required. Specify the Id of the new owner.
transferSchedules (Boolean): Required. Specify whether the schedules should be transferred to a new owner together with the workflow. Only the schedules owned by the current workflow owner will be transferred to the new owner.
Example value of contract:
{ "ownerId": "string", "transferSchedules": true }
curl -X 'PUT' \ 'http://localhost/webapi/v3/workflows/670ce5cef10214f22a6637a3/transfer' \ -H 'accept: application/json' \ -H 'authorization: Bearer BearerTokenGoesHere' \ -H 'Content-Type: application/json' \ -d '{ "ownerId": "670ceafbf10214f22a666c76", "transferSchedules": true }'
200: OK
400: BadRequest
"string"
401: Unauthorized
403: Forbidden
"string"
404: NotFound
"string"
500: InternalServerError
オブジェクト関係
ワークフローをアップロードする場合、作成したオブジェクトを次のように使用することができます。
作成されたオブジェクト: " workflowId " (例えば、"id": "7917969784f84bd09442f66996ecb8f3")
次のように使用できます。
ワークフローをコレクションに追加する 場合、 workflowId として。
ワークフローをコレクションから削除する 場合、 appId として。
特定のワークフローを検索する 場合、 workflowId として。
特定のワークフローを削除する 場合、 workflowId として。
既存のワークフローを更新する 場合、 workflowId として。
既存のワークフローの新しいバージョンをアップロードする 場合、 workflowId として。
スケジュールを検索する 場合、 workflowId として。
スケジュールを作成する 場合、 workflowId として。
ワークフローパッケージをダウンロードする 場合、 workflowId として。
ワークフローの質問情報を取得する 場合、 workflowId として。
ワークフローのジョブに関する情報を取得する 場合、 workflowId として。
Postmanリクエストの例
GET /v3/workflows/{workflowId}
Postmanリクエストの詳細については、「 Postmanの使用方法 」ヘルプページを参照してください。