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);
    }
}