Alfresco API

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"
  }
}