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 Request Struct Lists the paging requirements in a request. If not specified, the default pagination size is 1000 pages, starting from 0. For more details, see Pagination Request Struct
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);
    }
}