Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/camunda-community-hub/node-red-contrib-zeebe
Zeebe nodes for Node-RED
https://github.com/camunda-community-hub/node-red-contrib-zeebe
camunda camunda-8 javascript microservice node-red workflow zeebe
Last synced: 2 months ago
JSON representation
Zeebe nodes for Node-RED
- Host: GitHub
- URL: https://github.com/camunda-community-hub/node-red-contrib-zeebe
- Owner: camunda-community-hub
- License: mit
- Created: 2019-08-07T14:25:54.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-12-15T17:59:03.000Z (about 1 year ago)
- Last Synced: 2024-09-17T10:30:59.506Z (5 months ago)
- Topics: camunda, camunda-8, javascript, microservice, node-red, workflow, zeebe
- Language: JavaScript
- Size: 743 KB
- Stars: 27
- Watchers: 5
- Forks: 4
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-camunda-platform-8 - Node-RED Zeebe nodes
README
# node-red-contrib-zeebe
[![](https://img.shields.io/badge/Community%20Extension-An%20open%20source%20community%20maintained%20project-FF4700)](https://github.com/camunda-community-hub/community)
[![](https://img.shields.io/badge/Lifecycle-Incubating-blue)](https://github.com/Camunda-Community-Hub/community/blob/main/extension-lifecycle.md#incubating-)
![Compatible with: Camunda Platform 8](https://img.shields.io/badge/Compatible%20with-Camunda%20Platform%208-0072Ce)
![npm](https://img.shields.io/npm/v/node-red-contrib-zeebe)
This module leverages the [zeebe-node](https://creditsenseau.github.io/zeebe-client-node-js/index.html) 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 Platform 8 support!** Zeebe versions prior to v1.0 are not supported anymore.
Learn more about how these nodes can be used from basic [example flows](https://flows.nodered.org/collection/IC--I_j4q-Mt).
### worker / complete
![task-worker and complete node](docs/worker-complete.png)
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](https://flows.nodered.org/flow/71e06f6a3e3bcbc7721cd970215b5180).
### message
![publish-message node](docs/pub-msg.png)
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](https://flows.nodered.org/flow/d409cb6dfdd283a01724dc85cd65387e).
### start message
![publish-start-message node](docs/pub-start-msg.png)
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](https://flows.nodered.org/flow/5ab8499646b88cdbbb40a526ff4638d8).
### process
![deploy node](docs/deploy.png)
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](https://flows.nodered.org/flow/1fdad35c25b7269eea64b76d3236c3a6).
### process instance
![workflow-instance node](docs/create-wfi.png)
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](https://flows.nodered.org/flow/1195ed3512bc05c02558e319ebc46abb).
## Developing
To test these nodes locally in node-red, the `npm install ` 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:
```bash
npm install
```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:
```bash
npm test
```Integration tests are in the `__tests__/integration.js` file.
They require a Zeebe broker to run. You can start a dockerised broker:
```bash
cd resources/travis/
docker-compose up
```And then run them manually:
```bash
npm run test:integration
```## Contributions
Contributions are always welcome! There are some [open issues](https://github.com/camunda-community-hub/node-red-contrib-zeebe/issues).