Get Task

获取任务详情。

请求格式

GET https://{apigw-address}/enos-bpm-service/v2.0/work/tasks

请求参数(URI)

名称 位置(Path/Query) 必需/可选 数据类型 描述
taskId Query 必需 String 任务 ID。

响应参数

名称 数据类型 描述
data data 结构体 任务详情。

data 结构体

名称 数据类型 描述
id String 任务 ID。
name String 任务名称。
description String 任务描述。
category String 任务类型。
assignee UserRepresentation 结构体 当前任务处理人的信息。
created Timestamp 任务创建时间。
dueDate Timestamp 任务到期时间。
endDate Timestamp 任务结束时间。
duration Long 任务持续时间。
priority Integer 任务优先级,用于任务排序。
processInstanceId String 流程实例 ID。
processInstanceName String 流程实例名称。
processDefinitionId String 流程定义 ID。
processDefinitionName String 流程定义名称。
processDefinitionDescription String 流程定义描述。
processDefinitionKey String 流程定义的键。
processDefinitionCategory String 流程定义类型。
processDefinitionVersion Integer 流程定义版本号。
processDefinitionDeploymentId String 流程定义对应的部署资源 ID。
scopeId String scope ID。
scopeType String scope类型。
caseInstanceName String CMMN 实例名称。
scopeDefinitionId String scope 定义 ID。
caseDefinitionName String CMMN 定义名称。
caseDefinitionDescription String CMMN 定义描述。
caseDefinitionKey String CMMN 定义的键。
caseDefinitionCategory String CMMN 定义类型。
caseDefinitionVersion String CMMN 定义版本号。
caseDefinitionDeploymentId String CMMN 定义对应的部署资源 ID。
parentTaskId String 父任务的 ID(上一个任务)。
parentTaskName String 父任务名称。
formKey String 任务表单的键。
processInstanceStartUserId String 流程实例发起用户的 ID。
candidateUsers UserRepresentation 结构体数组 任务的候选用户的信息。
candidateGroups String 数组 任务的候选用户组名称。
canClaim Boolean 当前用户是否可以认领该任务。
canOperate Boolean 当前用户是否可以处理该任务。
taskName String 当前任务名称。
createdTime Timestamp 任务创建时间。
completedTime Timestamp 任务完成时间。
taskStatus String 任务状态(inProgress,completed,unclaimed)。
processName String 流程名称。

UserRepresentation 结构体

名称 数据类型 描述
id String 用户 ID。
firstName String 用户名字。
lastName String 用户姓氏。
email String 用户邮箱。
fullName String 用户全名。
tenantId String 组织 ID。
groups GroupRepresentation 结构体数组 用户组。
privileges String 数组 用户权限。

GroupRepresentation 结构体

名称 数据类型 描述
id String 用户组 ID。
name String 用户组名称。
type String 用户组类型。

错误码

代码 描述
33404 任务 ID 不存在。
33432 存在超过一条流程记录。

示例

请求示例

url: https://{apigw-address}/enos-bpm-service/v2.0/work/tasks?taskId={your_task_id}

method: GET

headers: {"Authorization":"Bearer {your_access_token}"}

返回示例

{
  "code": 0,
  "msg": "",
  "data": {
    "id": "7407ff63-e5f9-11ea-b677-0214d9689c6b",
    "name": "固件升级审批",
    "description": null,
    "category": null,
    "assignee": {
      "id": "u15977401032981",
      "firstName": null,
      "lastName": null,
      "email": "john.smith@univers.com",
      "fullName": "john.smith",
      "tenantId": "o15874765326651",
      "groups": [],
      "privileges": []
    },
    "created": 1598267014452,
    "dueDate": null,
    "endDate": null,
    "duration": null,
    "priority": 50,
    "processInstanceId": "7407b133-e5f9-11ea-b677-0214d9689c6b",
    "processInstanceName": "0730升级tag",
    "processDefinitionId": "936272d4-e2d7-11ea-aa05-3ed0af00f194",
    "processDefinitionName": "0730升级tag",
    "processDefinitionDescription": null,
    "processDefinitionKey": "afa317d3cd22d11ea8c5296a6822e2ce4",
    "processDefinitionCategory": "http://flowable.org/test",
    "processDefinitionVersion": 4,
    "processDefinitionDeploymentId": "9259dc71-e2d7-11ea-aa05-3ed0af00f194",
    "scopeId": null,
    "scopeType": null,
    "caseInstanceName": null,
    "scopeDefinitionId": null,
    "caseDefinitionName": null,
    "caseDefinitionDescription": null,
    "caseDefinitionKey": null,
    "caseDefinitionCategory": null,
    "caseDefinitionVersion": 0,
    "caseDefinitionDeploymentId": null,
    "parentTaskId": null,
    "parentTaskName": null,
    "formKey": "approve0730",
    "processInstanceStartUserId": null,
    "candidateUsers": null,
    "candidateGroups": null,
    "canClaim": false,
    "canOperate": false,
    "taskName": "固件升级审批",
    "createdTime": 1598267014452,
    "processName": "0730升级tag",
    "taskStatus": "inProgress",
    "completedTime": null
  }
}

Java SDK 调用示例

public class BpmSdkTest{
    @Test
    public void getTaskTest() {
        String bearerToken = "your_bearer_token";
        String taskId = "task_id";
        TaskGetRequest request = new TaskGetRequest(taskId, bearerToken);
        TaskGetResponse response = Poseidon.config(PConfig.init().appKey("your_access_key")
                                           .appSecret("your_secret_key").debug()).url("https://{apigw-address}")
                                           .getResponse(request, TaskGetResponse.class);
        assertNotNull("response cannot be null", response);
    }
}