工作流端点
工作流端点和参数
要详细了解对象关系以及如何在 API 中使用对象关系,请转至 对象关系 部分。
如需详细了解工作流,请访问 工作流 帮助页面。
上传新工作流
要上传新工作流,请使用
POST {baseURL}/v3/workflows
端点。
参数
file (file):必填。选择您想上传到系统的实际文件。媒体类型必须是 YXZP 文件。
name (string):必填。输入工作流名称。这是要在 Server UI 中显示的工作流名称。
ownerId (string):必填。输入所有者 ID。
workerTag (string):可选。指定在工作程序中定义的工作程序标签,以帮助将作业分配给某些工作程序节点。如需了解详情,请访问 工作程序 帮助页面。
districtTags (string):可选。以 JSON 格式的数组进行提交,例如,["id1", "id2"]。使用分区功能,按照标记对共享的公共工作流进行分组,以便用户可以轻松找到。如需了解详情,请访问 分区 帮助页面。
comments (string):可选。输入注释。
isPublic (boolean):必填。选择“true”将工作流设为公开可用。选择“false”将工作流设为私有,不允许公开使用。
isReadyForMigration (boolean):必填。选择工作流是否已准备好进行迁移。如需详细了解如何从一个 Server 环境迁移到另一个 Server 环境,请参阅 启用工作流迁移 帮助页面。
sourceAppId (string):可选。设置工作流的源应用程序 ID。您可以将其用作
POST admin/v1/workflows
端点的“sourceId”。提供预先存在的 sourceAppId 将导致请求无效。othersMayDownload (boolean):必填。指定其他用户是否可以下载此工作流。
othersCanExecute (boolean):必填。指定其他用户是否可以执行此工作流。
executionMode (string):必填。接受的值为“Safe”(安全)、“SemiSafe”(半安全)和“Standard”(标准)。如需详细了解执行模式,请参阅 安全和半安全运行模式:阻止的工具、事件和数据连接器 帮助页面。
hasPrivateDataExemption (boolean):可选。给予豁免以允许运行包含私有数据的工作流。选择“true”,以允许豁免;或选择“false”,以拒绝豁免。如需了解详情,请访问 管理员界面中的工作流选项 页面。
workflowCredentialType (string):必填。接受的值为“Default”、“Required”和“Specific”。
credentialId (string):可选。为此工作流指定 credentialId 。
collectionIds (string):可选。输入应将此工作流添加到的集合的 collectionId 。以 JSON 格式的数组进行提交,例如:["id1", "id2"]。
将新版本上传到现有工作流
要将新版本上传到现有工作流,请使用
POST {baseURL}/v3/workflows/{workflowId}/versions
端点。
参数
workflowId (string):必填。输入要为其上传新版本的工作流 ID。
file (file):必填。选择您想作为新版本上传到系统的实际文件。媒体类型必须是 YXZP 文件。
name (string):必填。输入工作流名称。这是要在 Server UI 中显示的工作流名称。
ownerId (string):必填。输入所有者 ID。
othersMayDownload (boolean):必填。默认值设置为“true”。
othersCanExecute (boolean):必填。默认值设置为“true”。
executionMode (string):必填。接受的值为“Safe”(安全)、“SemiSafe”(半安全)和“Standard”(biao'zhun)。如需详细了解执行模式,请参阅 安全和半安全运行模式:阻止的工具、事件和数据连接器 帮助页面。
hasPrivateDataExemption (boolean):可选。给予豁免以允许运行包含私有数据的工作流。选择“true”,以允许豁免;或选择“false”,以拒绝豁免。如需了解详情,请访问 管理员界面中的工作流选项 页面。
comments (string):可选。输入注释。
makePublished (boolean):必填。默认值设置为“true”。makePublished 参数是一种控制推送到 Server 的工作流的新版本是否应为发布版本的方法。当您将工作流推送到 Server 时,可以将其设置为“false”,这样只有您才能运行它。
workflowCredentialType (string):必填。输入用于此工作流的凭证类型。接受的值为“Default”、“Required”和“Specific”。
credentialId (string):可选。为此工作流指定 credentialId。如需详细了解凭证端点,请参阅 凭证端点 。
检索所有工作流
要获取有关所有工作流记录的信息,请使用
GET {baseURL}/v3/workflows/
端点。
参数
view (string):可选。选择显示工作流信息的方式。可以保留此参数但不为其提供值。您可以从以下值中选择:“默认值(Default)”和“全部(Full)”。如果此参数设置为“Default”,则将返回一个减小的视图对象。未指定时,将使用“默认值(Default)”。
name (string):可选。输入工作流名称,以便按名称筛选工作流。这是在 Server UI 中显示的工作流名称。
ownerId (string):可选。输入所有者 ID,以便按其所有者筛选工作流。
createdAfter (string):可选。输入日期和时间,工作流是在此之后创建的。以 ISO8601 格式 输入日期和时间。
createdBefore (string):可选。输入日期时间,工作流是在此之前创建的。以 ISO8601 格式 输入日期和时间。
请求示例:cURL
curl --location --request GET 'http://localhost/webapi/v3/workflows' \ --header 'Authorization: Bearer BearerTokenGoesHere'
检索特定工作流记录
要获取有关特定工作流的信息,请使用
GET {baseURL}/v3/workflows/{workflowId}
端点。
参数
workflowId (string):必填。输入工作流 ID,以获取有关此工作流的信息。
请求示例:cURL
curl --location --request GET 'http://localhost/webapi/v3/workflows/61db393fc565144387d451fb' \ --header 'Authorization: Bearer BearerTokenGoesHere'
更新现有工作流
要更改有关现有工作流的信息,请使用
PUT{baseURL}/v3/workflows/{workflowId}
端点。
注意
要更改 ownerId,新所有者与当前所有者必须在同一订阅中。
参数
workflowId (string):必填。输入要更新的工作流 ID。
updateWorkflowContract (body):必填。输入要更新的工作流信息。
name (string):必填。输入工作流名称。这是要在 Server UI 中显示的工作流名称。
versionId (string):必填。输入版本 ID。
makePublished (boolean):可选。未指定时,保持之前的值不变。makePublished 参数是一种控制推送到 Server 的工作流的新版本是否应为发布版本的方法。当您将工作流推送到 Server 时,可以将其设置为“false”,这样只有您才能运行它。
ownerId (string):必填。输入所有者 ID。
workerTag (string):必填。如果没有 workerTag,请改用 ""。
districtTags (string):必填。输入分区标签。使用分区功能,按照标记对共享的公共工作流进行分组,以便用户可以轻松找到。如需了解详情,请访问 分区 帮助页面。
comments (string):必填。输入注释。
isPublic (boolean):可选。未指定时,保持之前的值不变。
isReadyForMigration (boolean):可选。未指定时,保持之前的值不变。
othersMayDownload (boolean):可选。未指定时,保持之前的值不变。对公共工作流设置“false”时,工作流将无法使用。
othersCanExecute (boolean):可选。未指定时,保持之前的值不变。“公共工作流”设置为“false”时,工作流将无法使用。
executionMode (string):可选。接受的值为“Safe”(安全)、“SemiSafe”(半安全)、“Standard”(标准)。如需详细了解执行模式,请参阅 安全和半安全运行模式:阻止的工具、事件和数据连接器 帮助页面。
hasPrivateDataExemption (boolean):可选。给予豁免以允许运行包含私有数据的工作流。选择“true”,以允许豁免;或选择“false”,以拒绝豁免。未指定时,保持之前的值不变。如需了解详情,请访问 管理员界面中的工作流选项 页面。
下载工作流包
要下载工作流包,请使用
GET {baseURL}/v3/workflows/{workflowId}/package
端点。
参数
workflowId (string):必填。输入要为其下载包的工作流 ID。
versionId (string):可选。输入工作流的版本 ID。如果未提供版本,则下载发布版本。
注意
如果 versionID 是两位数,则可能会达到大小限制,并且您可能会收到“414 - URI 太长”的错误。在这种情况下,请解析 JSON versionID 字符串并对其进行剪裁,以仅显示最新版本。这样可以控制字段长度。
请求示例:cURL
curl -X GET --header 'Accept: application/octet-stream' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a4be7dc6e24bb8ff0/package'
检索工作流的问题信息
要获取工作流的问题信息,请使用
GET {baseURL}/v3/workflows/{workflowId}/questions
端点。
参数
workflowId (string):必填。输入要为其检索信息的的工作流 ID。
versionId (string):可选。输入工作流的版本 ID。如果未提供版本,则使用发布版本。
请求示例:cURL
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a4bc6e24b78d0b8ff0/questions'
获取有关特定工作流作业的信息
要获取有关特定工作流作业的信息,请使用
GET {baseURL}/v3/workflows/{workflowId}/jobs
端点。
参数
workflowId (string):必填。输入要为其检索信息的的工作流 ID。
sortField (string):可选。
direction (string):可选。
offset (string):可选。
limit (string):可选。
请求示例:cURL
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a4be6e24b78d0b8ff0/jobs'
删除工作流
要删除特定工作流,请使用
DELETE {baseURL}/v3/workflows/{workflowId}
端点。
参数
workflowId (string):必填。输入要删除的工作流 ID。
force (boolean):可选。未选择时,默认值为“false”。如果已计划工作流,将参数设置为“true”会在删除工作流之前删除所有计划。
请求示例:cURL
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a752fdc6e278d0ba40b'
创建新作业
要创建新作业并将其添加到队列中,请使用
POST /v3/workflows/{workflowId}/jobs
端点。
参数
workflowId (string):必填。输入要计划的工作流 ID。
contract (body):要创建新作业,请指定以下参数:
workerTag (string):可选。指定分配的工作程序。如果未指定,值将为“无”。
credentialId (string):可选。为此工作流指定 credentialId。
questions (string):可选。对于分析应用程序,请指定运行工作流所用的问题和答案。
priority (string):可选。指定运行计划的优先级。从以下选项中选择:“低”、“中”、“高”和“紧急”。如果未指定,默认值将为“低”。
请求示例:cURL
创建作业的请求示例:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer BearerTokenGoesHere' -d '{ \ "workerTag": "", \ "credentialId": "", \ "questions": [], \ "priority": "Low" \ }' 'http://localhost/webapi/v3/workflows/651faa8bde3e5381fd0dac29/jobs'{ "workerTag": "tag1", "credentialId": "652e6f90ea174cd34f6779d2", "questions": [ { "name": "Drop_Down", "value": "true" } ], "priority": "Low"}
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): Specify the Id of the new owner.
transferSchedules (Boolean): 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.
Request Example: cURL
curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ "ownerId": "63d17f6cb049da66d0afd4e2", \ "transferSchedules": true \ }' 'http://localhost/webapi/v3/workflows/7917969784f84bd09442f66996ecb8f3/transfer'
对象关系
如果您要上传工作流,则可以按如下方式使用创建的对象:
创建的对象:“ workflowId ”(例如“id”: “7917969784f84bd09442f66996ecb8f3”)
您可以将其用作:
workflowId ,如果您要 将工作流添加到集合 。
appId ,如果您要 从集合中移除工作流 。
workflowId ,如果您要 搜索特定工作流 。
workflowId ,如果您要 删除特定工作流 。
workflowId ,如果您要 更新现有工作流 。
workflowId ,如果您要 上传现有工作流的新版本 。
workflowId ,如果您要 搜索计划 。
workflowId ,如果您要 创建计划 。
workflowId ,如果您要 下载工作流包 。
workflowId ,如果您要 检索工作流的问题信息 。
workflowId ,如果您要 获取有关工作流作业的信息 。
Postman 请求示例
GET /v3/workflows/{workflowId}
如需详细了解有关 Postman 请求的更多信息,请访问 如何使用 Postman 帮助页面。