1.0.0 • Published 3 months ago
@bpmn-io/extract-process-variables v1.0.0
extract-process-variables
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:formField
camunda:outputParameter
camunda:out
camunda:resultVariable
camunda:errorCodeVariable
camunda:errorMessageVariable
camunda:escalationCodeVariable
Camunda Platform 8
We are currently extracting process variables from the following diagram properties
zeebe:input
zeebe:output
zeebe:loopCharacteristics > inputElement
zeebe:loopCharacteristics > outputCollection
zeebe:calledDecision > resultVariable
See also
- camunda-bpmn-moddle
- Camunda BPM Process Variables Documentation
- zeebe-bpmn-moddle
- Camunda Platform 8 Variables Documentation
License
MIT