Query Process Instance

查询流程实例列表。

请求格式

POST https://{apigw-address}/enos-bpm-service/v2.0/work/process-instances/queryList

请求参数(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 结构体数组 流程实例数组。

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 用户姓氏。
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/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);
    }
}