Query Process Instance¶
查询流程实例列表。
请求格式¶
POST https://{apigw-address}/enos-bpm-service/v2.0/work/process-instances/queryList
请求参数(Header)¶
名称 |
位置 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
Authorization |
Header |
必需 |
String |
Access Token,以 Bearer Token 表示,需要通过调用 Log In 或 Refresh Access Token 接口后获取。 |
请求参数(Body)¶
名称 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|
pagination |
可选 |
Pagination 结构体 |
分页参数(若不提供,则默认按照每页1000条数据的格式返回第0页的数据)。见 Pagination请求结构体>> |
processName |
可选 |
String |
流程名称。 |
processStatus |
必需 |
String |
流程状态(inProgress,completed,terminated)。 |
processInstanceId |
可选 |
String |
流程实例 ID。 |
startedBefore |
可选 |
Timestamp |
查询在此时间之前启动的流程。 |
startedAfter |
可选 |
Timestamp |
查询在此时间之后启动的流程。 |
startBy |
可选 |
String |
流程发起人的用户 ID。 |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
data 结构体 |
流程实例列表。 |
data 结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
pagination |
Pagination 结构体 |
分页请求。 |
processInstances |
ProcessInstanceRepresentation 结构体数组 |
流程实例数组。 |
Pagination 结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
current |
Integer |
请求页数。 |
pageSize |
Integer |
每页记录数。 |
total |
Long |
总记录数。 |
sorts |
Sorter 结构体数组 |
记录排序。 |
start |
Integer |
开始记录序号。 |
Sorter 结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
field |
String |
排序字段。 |
order |
String |
排序方式(asc,desc)。 |
ProcessInstanceRepresentation 结构体¶
名称 |
数据类型 |
描述 |
---|---|---|
id |
String |
流程实例 ID。 |
name |
String |
流程名称。 |
businessKey |
String |
流程实例的键。 |
processDefinitionId |
String |
流程定义 ID。 |
processDefinitionName |
String |
流程定义名称。 |
processDefinitionDescription |
String |
流程定义描述。 |
processDefinitionKey |
String |
流程定义的键。 |
processDefinitionCategory |
String |
流程定义类型。 |
processDefinitionVersion |
Integer |
流程定义版本号。 |
processDefinitionDeploymentId |
String |
流程定义对应的部署资源 ID。 |
graphicalNotationDefined |
Boolean |
是否定义流程图标。 |
startFormDefined |
Boolean |
是否定义流程启动表单。 |
tenantId |
String |
组织 ID。 |
createdTime |
Timestamp |
流程实例创建时间。 |
completedTime |
Timestamp |
流程实例结束时间。 |
terminable |
Boolean |
当前用户是否可以终止当前流程。 |
terminatedTime |
Timestamp |
流程实例终止时间。 |
terminateReason |
String |
流程实例终止原因。 |
startedBy |
UserRepresentation 结构体 |
流程发起人的信息。 |
terminatedBy |
UserRepresentation 结构体 |
流程终止人的信息。 |
assignee |
UserRepresentation 结构体 |
当前任务处理人的信息。 |
taskName |
String |
当前任务名称。 |
url |
String |
流程详情在 BPM 应用中的 URL。 |
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/process-instances/queryList
method: POST
headers: {"Authorization":"Bearer {your_access_token}"}
requestBody: {
"pagination": {
"current": 0,
"pageSize": 10,
"sorts": [
{
"field": "name",
"order": "asc"
}
],
},
"processInstanceId": "your_process_instance_id",
"processName": "your_process_instance_name",
"processStatus": "inProgress",
}
返回示例¶
{
"code": 0,
"msg": "",
"data": {
"pagination": {
"current": 0,
"pageSize": 2,
"total": 1075,
"sorts": [],
"start": 0
},
"processInstances": [
{
"id": "7407b133-e5f9-11ea-b677-0214d9689c6b",
"name": "0730升级tag",
"businessKey": "a74073c02e5f911eab6770214d9689c6b",
"processDefinitionId": "936272d4-e2d7-11ea-aa05-3ed0af00f194",
"tenantId": "o15874765326651",
"started": 1598267014450,
"ended": null,
"startedBy": {
"id": "u15977401032981",
"firstName": null,
"lastName": null,
"email": "john.smith@univers.com",
"fullName": "john.smith",
"tenantId": "o15874765326651",
"groups": [],
"privileges": []
},
"processDefinitionName": "0730升级tag",
"processDefinitionDescription": null,
"processDefinitionKey": "afa317d3cd22d11ea8c5296a6822e2ce4",
"processDefinitionCategory": "http://flowable.org/test",
"processDefinitionVersion": 4,
"processDefinitionDeploymentId": "9259dc71-e2d7-11ea-aa05-3ed0af00f194",
"graphicalNotationDefined": true,
"startFormDefined": false,
"assignee": {
"id": "u15977401032981",
"firstName": null,
"lastName": null,
"email": "john.smith@univers.com",
"fullName": "john.smith",
"tenantId": "o15874765326651",
"groups": [],
"privileges": []
},
"taskName": "固件升级审批",
"url": "https://beta-app-portal-cn4.eniot.io/portal/6b45e476-f5cd-4da9-a306-422cba0a9864/instance?state=route%3D%2Fworkflow-instance%2F7407b133-e5f9-11ea-b677-0214d9689c6b",
"terminable": null,
"terminatedBy": null,
"terminateReason": null,
"variables": [],
"processInstanceId": "7407b133-e5f9-11ea-b677-0214d9689c6b",
"createdTime": 1598267014450,
"processStatus": "inProgress",
"processName": "0730升级tag",
"completedTime": null,
"terminatedTime": null
},
{
"id": "60986949-e5f9-11ea-b8f9-02420a05d432",
"name": "test_all",
"businessKey": "a60981b28e5f911eab8f902420a05d432",
"processDefinitionId": "bb02d8d3-e5f7-11ea-b8f9-02420a05d432",
"tenantId": "o15874765326651",
"started": 1598266981844,
"ended": null,
"startedBy": {
"id": "u15977401032981",
"firstName": null,
"lastName": null,
"email": "john.smith@univers.com",
"fullName": "john.smith",
"tenantId": "o15874765326651",
"groups": [],
"privileges": []
},
"processDefinitionName": "test_all",
"processDefinitionDescription": null,
"processDefinitionKey": "aba14eccde5eb11eab6770214d9689c6b",
"processDefinitionCategory": "http://flowable.org/test",
"processDefinitionVersion": 3,
"processDefinitionDeploymentId": "bae39100-e5f7-11ea-b8f9-02420a05d432",
"graphicalNotationDefined": true,
"startFormDefined": false,
"assignee": {
"id": "u15977401032981",
"firstName": null,
"lastName": null,
"email": "john.smith@univers.com",
"fullName": "john.smith",
"tenantId": "o15874765326651",
"groups": [],
"privileges": []
},
"taskName": "用户任务",
"url": "https://beta-app-portal-cn4.eniot.io/portal/6b45e476-f5cd-4da9-a306-422cba0a9864/instance?state=route%3D%2Fworkflow-instance%2F60986949-e5f9-11ea-b8f9-02420a05d432",
"terminable": null,
"terminatedBy": null,
"terminateReason": null,
"variables": [],
"processInstanceId": "60986949-e5f9-11ea-b8f9-02420a05d432",
"createdTime": 1598266981844,
"processStatus": "inProgress",
"processName": "test_all",
"completedTime": null,
"terminatedTime": null
}
]
}
}
Java SDK 调用示例¶
public class BpmSdkTest{
@Test
public void queryProcessInstanceTest() {
String bearerToken = "your_bearer_token";
ProcessInstanceCriteria criteria = new ProcessInstanceCriteria();
criteria.setProcessStatus(ProcessStatus.IN_PROGRESS);
ProcessInstanceQueryRequest request = new ProcessInstanceQueryRequest(criteria, bearerToken);
ProcessInstanceQueryResponse response = Poseidon.config(PConfig.init().appKey("your_access_key")
.appSecret("your_secret_key").debug()).url("https://{apigw-address}")
.getResponse(request, ProcessInstanceQueryResponse.class);
assertNotNull("response cannot be null", response);
}
}