node-red-contrib-zeebe
This module leverages the zeebe-node client library to bring Zeebe awesomeness to Node-RED!
Please upgrade node-red-contrib-zeebe to v0.7+ for Zeebe v1.0 or current Camunda Cloud support! Zeebe versions prior to v1.0 are not supported anymore.
Learn more about how these nodes can be used from basic example flows.
worker / complete
Creates a task worker and subscribes to specific tasks/jobs. The worker
node outputs a Node-RED message for each newly received task/job.
When a Node-RED message is received at the complete
nodes's input, that task/job gets completed in Zeebe (with either success, failure or error).
Please note: These nodes only work in combination. Make sure, the complete object from the worker node output payload gets injected into the input of the complete node.
See example flow.
message
This node publishes a message to Zeebe, when a Node-RED message is received at the input.
The message must contain a name and a correlation key. Optionally you can pass in variables and configuration options like timeToLive.
See example flow.
start message
This node publishes a start message to Zeebe, when a Node-RED message is received at the input.
The message must contain a name, no correlation key needed. Optionally you can pass in variables and configuration options like timeToLive.
See example flow.
process
Inject a bpmn process definition string to the input of this node to deploy it to Zeebe.
You can use the 'file in' node from Node-RED to read a bpmn file from disk, or get the process definition from anywhere you want.
See example flow.
process instance
A new process instance gets started in Zeebe, when a Node-RED message is received at the input.
Once the process instance has been created, the output sends a Node-RED message containing some meta-info, i.e. the processInstanceKey.
See example flow.
Developing
To test these nodes locally in node-red, the npm install <folder>
command can be used. This allows you to develop the node in a local directory and have it linked into a local node-red install during development.
In your node-red user directory, typically ~/.node-red
, run:
npm install <path to location of node-red-contrib-zeebe>
This creates the appropriate symbolic link to the directory so that Node-RED will discover the node when it starts. Any changes to the node’s file can be picked up by simply restarting Node-RED.
Tests
Tests are written in Jest, and live in the __tests__
directory. To run the unit tests:
npm test
Integration tests are in the __tests__/integration.js
file.
They require a Zeebe broker to run. You can start a dockerised broker:
cd resources/travis/
docker-compose up
And then run them manually:
npm run test:integration
Contributions
Contributions are always welcome! There are some open issues.