bpmn-io / extract-process-variables

An util for bpmn-js to extract Camunda BPM process variables from a BPMN 2.0 diagram.
MIT License
0 stars 2 forks source link

extract-process-variables

CI

An util for bpmn-js to extract Camunda BPM process variables from a BPMN 2.0 diagram.

Installation

$ npm i --save @bpmn-io/extract-process-variables

Usage

Camunda Platform 7

Given this example diagram

import {
  getProcessVariables,
  getVariablesForScope,
} from '@bpmn-io/extract-process-variables';

// For Camunda Platform 8 diagrams, use the /zeebe submodule
// import {
//   getProcessVariables,
//   getVariablesForScope,
// } from '@bpmn-io/extract-process-variables/zeebe';

const canvas = modeler.get('canvas');

const rootElement = canvas.getRootElement();

const allVariables = getProcessVariables(rootElement.businessObject);
/*
  [
    {
      "name": "variable1",
      "origin": [ "Task_1" ],
      "scope": "Process_1"
    },
    {
      "name": "variable2",
      "origin": [ "Task_1" ],
      "scope": "Process_1"
    },
    {
      "name": "variable3",
      "origin": [ "Task_2" ],
      "scope": "SubProcess_1"
    }
  ]
*/

const scopeVariables = getVariablesForScope('Process_1', rootElement.businessObject);
/*
  [
    {
      "name": "variable1",
      "origin": [ "Task_1" ],
      "scope": "Process_1"
    },
    {
      "name": "variable2",
      "origin": [ "Task_1" ],
      "scope": "Process_1"
    }
  ]
*/

Note that origin and scope retrieves the full moddle element. The example outputs are reduced due to better readibility.

Note that camunda-bpmn-moddle or zeebe-bpmn-moddle descriptors have to be installed.

Properties support

Camunda Platform 7

We are currently extracting process variables from the following diagram properties

Camunda Platform 8

We are currently extracting process variables from the following diagram properties

See also

License

MIT