如何知道 BPM 流程是否成功

How to know if a BPM process succeded

我正在尝试弄清楚如何确定使用 Camunda 提供的 REST API 的 BPM 流程调用是否成功,此 API 将从 Node.js 应用程序:

http://localhost:8080/engine-rest/process-definition/key/TestBPM/start

{
  "links": [
    {
      "method": "GET",
      "href": "http://localhost:8080/engine-rest/process-instance/72cc8ced-42e9-11e6-9c9d-4c72b965fca0",
      "rel": "self"
    }
  ],
  "id": "72cc8ced-42e9-11e6-9c9d-4c72b965fca0",
  "definitionId": "TestBPM:4:128925ef-42e9-11e6-9c9d-4c72b965fca0",
  "businessKey": null,
  "caseInstanceId": null,
  "ended": true,
  "suspended": false,
  "tenantId": null
}

在那个 JSON 响应中,我收到了进程结束的消息,但我需要知道的是在哪个最终状态结束了进程....我有办法做到这一点吗??

BPM:

通常您会使用一些服务或脚本任务来处理您的数据。您的 BPMN 图仅包含事件和网关,这很不寻常。

但是根据您的图表,有两种方法可以实现您的目标:

  1. 在 Activity 级别使用历史日志:https://docs.camunda.org/manual/7.5/user-guide/process-engine/history/ 并查询数据库。
  2. 如果您不想轮询您的数据库,只需在您的结束事件上使用 EventListeners:https://docs.camunda.org/manual/7.5/user-guide/process-engine/delegation-code/#execution-listener