Query Task

查询任务列表。

请求格式

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

请求参数(Body)

名称 必需/可选 数据类型 描述
pagination 可选 Pagination 结构体 分页请求。
processInstanceId 可选 String 流程实例 ID。
processName 可选 String 流程名称。
taskStatus 必需 String 任务状态(inProgress,completed,unclaimed)。
taskName 可选 String 任务名称。

响应参数

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

data 结构体

名称 数据类型 描述
pagination Pagination 结构体 分页请求。
taskRepresentations TaskRepresentation 结构体数组 任务数组。

Sorter 结构体

名称 数据类型 描述
field String 排序字段。
order String 排序方式(asc,desc)。

TaskRepresentation 结构体

名称 数据类型 描述
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 用户组类型。

示例

请求示例

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

method: POST

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

requestBody:{
  "pagination": {
    "current": 0,
    "pageSize": 2
  },
  "taskStatus": "inProgress"
}

返回示例

{
  "code": 0,
  "msg": "",
  "data": {
    "pagination": {
      "current": 0,
      "pageSize": 2,
      "total": 21,
      "sorts": [],
      "start": 0
    },
    "taskRepresentations": [
      {
        "id": "4baecb74-e5d6-11ea-ba2a-62873ba48f97",
        "name": "固件上传审批",
        "description": null,
        "category": null,
        "assignee": {
          "id": "u15916978791551",
          "firstName": null,
          "lastName": null,
          "email": "john.smith@univers.com",
          "fullName": "john.smith",
          "tenantId": "o15874765326651",
          "groups": [],
          "privileges": []
        },
        "created": 1598251914373,
        "dueDate": null,
        "endDate": null,
        "duration": null,
        "priority": 50,
        "processInstanceId": "4baea45a-e5d6-11ea-ba2a-62873ba48f97",
        "processInstanceName": "string",
        "processDefinitionId": "139d9ea3-d21e-11ea-9d02-b6917a6e9040",
        "processDefinitionName": "0730上传tag",
        "processDefinitionDescription": null,
        "processDefinitionKey": "a1411e0f9d21a11ea9d02b6917a6e9040",
        "processDefinitionCategory": "http://flowable.org/test",
        "processDefinitionVersion": 2,
        "processDefinitionDeploymentId": "12a29cd0-d21e-11ea-9d02-b6917a6e9040",
        "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": "approvalopinion20200730",
        "processInstanceStartUserId": null,
        "candidateUsers": null,
        "candidateGroups": null,
        "canClaim": false,
        "canOperate": true,
        "taskName": "固件上传审批",
        "createdTime": 1598251914373,
        "processName": "0730上传tag",
        "taskStatus": "inProgress",
        "completedTime": null
      },
      {
        "id": "f7cea05e-e5d5-11ea-a7d0-2e79fed17589",
        "name": "固件上传审批",
        "description": null,
        "category": null,
        "assignee": {
          "id": "u15916978791551",
          "firstName": null,
          "lastName": null,
          "email": "john.smith@univers.com",
          "fullName": "john.smith",
          "tenantId": "o15874765326651",
          "groups": [],
          "privileges": []
        },
        "created": 1598251773653,
        "dueDate": null,
        "endDate": null,
        "duration": null,
        "priority": 50,
        "processInstanceId": "f7ce7944-e5d5-11ea-a7d0-2e79fed17589",
        "processInstanceName": "string",
        "processDefinitionId": "139d9ea3-d21e-11ea-9d02-b6917a6e9040",
        "processDefinitionName": "0730上传tag",
        "processDefinitionDescription": null,
        "processDefinitionKey": "a1411e0f9d21a11ea9d02b6917a6e9040",
        "processDefinitionCategory": "http://flowable.org/test",
        "processDefinitionVersion": 2,
        "processDefinitionDeploymentId": "12a29cd0-d21e-11ea-9d02-b6917a6e9040",
        "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": "approvalopinion20200730",
        "processInstanceStartUserId": null,
        "candidateUsers": null,
        "candidateGroups": null,
        "canClaim": false,
        "canOperate": true,
        "taskName": "固件上传审批",
        "createdTime": 1598251773653,
        "processName": "0730上传tag",
        "taskStatus": "inProgress",
        "completedTime": null
      }
    ]
  }
}

Java SDK 调用示例

public class BpmSdkTest{
    @Test
    public void queryTaskTest() {
        String bearerToken = "your_bearer_token";
        TaskCriteria criteria = new TaskCriteria();
        criteria.setProcessInstanceId("process_instance_id");
        criteria.setProcessName("process_name");
        criteria.setTaskStatus(TaskStatus.ALL);
        criteria.setTaskName("task_name");
        TaskQueryRequest request = new TaskQueryRequest(criteria, bearerToken);
        TaskQueryReponse response = Poseidon.config(PConfig.init().appKey("your_access_key")
                                            .appSecret("your_secret_key").debug()).url("https://{apigw-address}")
                                            .getResponse(request, TaskQueryReponse.class);
        assertNotNull("response cannot be null", response);
    }

}