@villedemontreal/workit-bpm-client
v6.0.6-dev
Published
Camunda BPM client for WorkIt that works with Camunda platform powered by TypeScript
Downloads
1,777
Readme
WorkIt Camunda BPM Client
Installing
npm i workit-bpm-client
How to use
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
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.
- Documentation is available in this folder
- Comprehensive API documentation is available online and in the
docs
subdirectory
Maintainers
See the list of contributors who participated in this project.
Contributing
Please read 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 file for details