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

流程实例数组。

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

用户姓氏。

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