@villedemontreal/workit-bpm-client
Version:
Camunda BPM client for WorkIt that works with Camunda platform powered by TypeScript
81 lines (59 loc) • 2.68 kB
Markdown
# WorkIt Camunda BPM Client
[](LICENSE)
## Installing
```bash
npm i @villedemontreal/workit-bpm-client
```
## How to use
```js
import { BasicAuthInterceptor, Client as CamundaExternalClient } from 'camunda-external-task-client-js';
const basicOauth = { username: 'admin', password: 'admin123' };
const config = {
maxTasks: 32,
workerId: 'demo',
baseUrl: `http://localhost:8080/engine-rest`,
topicName: 'topic_demo',
bpmnKey: 'BPMN_DEMO',
autoPoll: false,
interceptors: [new BasicAuthInterceptor(basicOauth)]
};
const clientLib: ICamundaClient = new CamundaExternalClient(config);
const client = new CamundaBpmClient(config, clientLib);
await client.deployWorkflow('deploy-your.bpmn');
await client.createWorkflowInstance({
bpmnProcessId: "BPMN_DEMO",
variables: {
amount: 1000,
hello: "world"
}
});
await client.subscribe(async (message, service) => {
// do something
});
// client contains other useful methods
```
## Start a worker
```js
import { NodeTracer } from '@opentelemetry/node';
import { BasicAuthInterceptor, Client as CamundaExternalClient } from 'camunda-external-task-client-js';
import { FailureStrategySimple, SCProcessHandler, SuccessStrategySimple, Worker } from '@villedemontreal/workit-core';
const clientLib: ICamundaClient = new CamundaExternalClient(config);
const client = new CamundaBpmClient(config, clientLib);
const successHandler = new SuccessStrategySimple();
const failureHandler = new FailureStrategySimple();
const tracer = new NodeTracer();
const processHandler = new SCProcessHandler(successHandler, failureHandler, tracer);
const worker = new Worker(client, processHandler);
worker.start();
worker.run();
```
## Useful links
- [Get started in 2 minutes](https://github.com/VilledeMontreal/workit/blob/master/packages/workit/.docs/WORKER.md).
- [Documentation is available in this folder](https://github.com/VilledeMontreal/workit/tree/master/packages/workit/.docs)
- Comprehensive API documentation is available [online](https://villedemontreal.github.io/workit/) and in the `docs` subdirectory
## Maintainers
See the list of [contributors](CONTRIBUTORS.md) who participated in this project.
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details