Query Process Instance

Query the list of process instances.

Request Format

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

Request Parameters (Header)

Name

Location

Mandatory/Optional

Data Type

Description

Authorization

Header

Mandatory

String

The access token, which is represented by the bearer token. It can be obtained by invoking the Log In or Refresh Access Token API.

Request Parameters (Body)

Name

Mandatory/Optional

Data Type

Description

pagination

Optional

Pagination Struct

The pagination request.

processName

Optional

String

The process name.

processStatus

Mandatory

String

The process status (inProgress, completed, and terminated).

processInstanceId

Optional

String

The process instance ID.

startedBefore

Optional

Timestamp

Query processes that were started before this stated time.

startedAfter

Optional

Timestamp

Query processes that were started after this stated time.

startBy

Optional

String

The user ID of the process starter.

Response Parameters

Name

Data Type

Description

data

Data Struct

List of process instances.

Data Struct

Name

Data Type

Description

pagination

Pagination Struct

The pagination request.

processInstances

ProcessInstanceRepresentation Struct Array

The process instance array.

Pagination Struct

Name

Data Type

Description

current

Integer

The number of pages requested.

pageSize

Integer

The number of records on each page.

total

Long

The total number of records.

sorts

Sorter Struct Array

The record sorting order.

start

Integer

The serial number of the first record.

Sorter Struct

Name

Data Type

Description

field

String

The sorting field.

order

String

The sort order (asc, desc).

ProcessInstanceRepresentation Struct

Name

Data Type

Description

id

String

The process instance ID.

name

String

The process name.

businessKey

String

The key of the process instance.

processDefinitionId

String

The process definition ID.

processDefinitionName

String

The process definition name.

processDefinitionDescription

String

The process definition description.

processDefinitionKey

String

The process definition key.

processDefinitionCategory

String

The process definition type.

processDefinitionVersion

Integer

The process definition version number.

processDefinitionDeploymentId

String

The deployment resource ID corresponding to the process definition.

graphicalNotationDefined

Boolean

Whether to define the process icon.

startFormDefined

Boolean

Whether to define the process start form.

tenantId

String

The organization ID.

createdTime

Timestamp

The creation time of the process instance.

completedTime

Timestamp

The end time of the process instance.

terminable

Boolean

Whether the current process can be terminated by the current user.

terminatedTime

Timestamp

The termination time of the process instance.

terminateReason

String

The reason for terminating the process instance.

startedBy

UserRepresentation Struct

Information about the process starter.

terminatedBy

UserRepresentation Struct

Information about the process terminator.

assignee

UserRepresentation Struct

Information about current task assignee.

taskName

String

The name of the current task.

url

String

The URL of the process details in the BPM application.

UserRepresentation Struct

Name

Data Type

Description

id

String

The user ID.

firstName

String

The user’s first name.

lastName

String

The user’s last name.

email

String

The user’s email.

fullName

String

The user’s full name.

tenantId

String

The organization ID.

groups

UserRepresentation Struct Array

The user group.

privileges

String array

The user permissions.

GroupRepresentation Struct

Name

Data Type

Description

id

String

The user group ID.

name

String

The user group name.

type

String

The user group type.

Samples

Request Sample

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",
}

Return Sample

{
  "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@envision-digital.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@envision-digital.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@envision-digital.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@envision-digital.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 Sample

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