Query Task¶
查询任务列表。
请求格式¶
POST https://{apigw-address}/enos-bpm-service/v2.0/work/tasks/query
请求参数(Header)¶
名称 |
位置 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
Authorization |
Header |
必需 |
String |
Access Token,以 Bearer Token 表示,需要通过调用 Log In 或 Refresh Access Token 接口后获取。 |
请求参数(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 |
用户姓氏。 |
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@envision-digital.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@envision-digital.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);
}
}