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 结构体数组

任务数组。

Pagination 结构体

名称

数据类型

描述

current

Integer

请求页数。

pageSize

Integer

每页记录数。

total

Long

总记录数。如果任务的总数量小于请求的每页记录数(默认 50)并且当前处于第一页,系统将不返回总记录数。

sorts

Sorter 结构体数组

记录排序。

start

Integer

开始记录序号。

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

}