PUT / tasks / {taskId}
基本信息
更新任务taskId的状态。
要执行任务操作,已认证的用户必须是受让人或候选人。 如果启用了网络,则仅当任务在给定网络内部时才执行任务动作。
在非网络部署中,管理员可以对任务执行所有操作。 在网络部署中,网络管理员可以查看其网络中的所有任务,并对其网络中的任务执行所有操作。
您可以在URL中使用select参数来指定要更新的任务中的逗号分隔属性列表。 使用JSON正文为这些属性指定新值。
因此,例如,要将任务123的状态更改为已完成(completed),请使用以下URL http:// localhost:8080 / alfresco / api / -default- / public / workflow / versions / 1 / tasks / 123?select = state,并提供 该请求正文:
{ "state": "completed" }
状态转换
客户端可以通过将允许值分配给任务的state属性来调用操作。 select参数可用于允许部分更新资源。 Alfresco将检查非法状态转换,返回HTTP错误请求(响应400)在尝试了非法状态转换时出现。 有五个状态转换,完成,声明,取消声明,委派,解决。
完成任务
如果变量包含在JSON正文中,则将在任务中对其进行设置,然后该过程将继续。
要完成任务,已认证的用户必须是任务的受让人,任务的所有者或已经开始了该过程的人。
在非网络部署中,管理员可以对所有任务执行此任务操作。 在网络部署中,网络管理员可以对网络中的所有任务执行此操作。
这是一个示例的PUT请求
/tasks/123?select=state,variables
这是对应的PUT请求正文:
{ “state : “completed”, “variables” : [ { "name" : "bpm_priority", "type" : "d_int", "value" : 1, "scope" : "global" } ] }
领取任务
要声明任务,已认证的用户必须是任务的受让人,任务的所有者或已经开始了该过程。
这是一个示例的PUT请求
/tasks/123?select=state
这是相应的PUT请求正文:
{ “state : “claimed” }
取消任务
这将删除任务的当前受让人。
要取消声明任务,已认证的用户必须是任务的受让人,任务的所有者或已经启动了该过程的人。
这是一个示例的PUT请求
/tasks/123?select=state
这是相应的PUT请求正文:
{ “state : “unclaimed” }
委派任务
这会将任务从所有者委派给受让人。 结果与受让人已提出任务的情况相同,但是任务可以解决,所有者将再次成为受让人。 要委派任务,已认证的用户必须是任务的受让人,并且该受让人必须与所有者不同。 这是一个示例的PUT请求
/tasks/123?select=state,assignee
这是相应的PUT请求正文:
{ “state : “delegated”, “assignee : “Kermit” }
解决任务
这会将委派的任务返回给所有者。 为了委派任务,已认证的用户必须是任务的受让人,并且该受让人必须与所有者不同。
要解决任务,已认证的用户必须是任务的受让人,任务的所有者或已经开始了该过程。
这是一个示例PUT请求
/tasks/123?select=state
这是相应的PUT请求正文:
{ “state : “resolved” }
请求方式 PUT
请求API/ tasks / {taskId}
响应等级(状态200)
成功回应
{ "entry": { "id": "string", "processId": "string", "processDefinitionId": "string", "activityDefinitionId": "string", "name": "string", "description": "string", "dueAt": "2021-01-15T07:50:19.260Z", "startedAt": "2021-01-15T07:50:19.260Z", "endedAt": "2021-01-15T07:50:19.260Z", "durationInMs": 0, "priority": 0, "owner": "string", "assignee": "string", "formResourceKey": "string", "state": "unclaimed", "variables": [ { "scope": "string", "name": "string", "value": 0, "type": "string" } ] } }
响应内容类型 applicaiton/json
Query参数
名称 | 类型 | 是否必填 | 示例值 | 描述 |
select | integer | 否 | 指定要为一个实体或实体列表返回的属性的必需子集的字符串。 属性用逗号分隔。 |
Path参数
名称 | 类型 | 是否必填 | 示例值 | 描述 |
taskId | string | 是 | 任务的标识符。 |
Body参数(taskBody)
request body示例
{ "name": "string", "description": "string", "dueAt": "2021-01-15T07:50:19.089Z", "priority": 0, "owner": "string", "state": "unclaimed", "variables": [ { "scope": "string", "name": "string", "value": 0, "type": "string" } ] }
错误信息描述
状态码 | 原因 |
400 | 无效的参数:taskBody无效 |
401 | 验证失败 |
default | 意外错误 |
返回结果示例
{ "error": { "errorKey": "string", "statusCode": 0, "briefSummary": "string", "stackTrace": "string", "descriptionURL": "string", "logId": "string" } }