UNPKG

@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
# WorkIt Camunda BPM Client [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](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