How to connect Camunda 7 to NestJS as microservices?

Hey every body,hope you all are doing great!!

How can I connect camunda 7 to my NestJS application?

I already made this connection possible with camunda 8 but I wish to do that with Camunda 7, since our BPMN flows were imported from Bizagi and only works in Camunda 7.

So far I am using this GitHub - camunda-community-hub/nestjs-zeebe: Zeebe transport and client for nestjs framework but it only works for localhost:26500 if I try to pass the localhost:8080/engine-rest it wont work.

I get the following error:

| zeebe | ERROR: [createProcessInstance]: 14 UNAVAILABLE: Connection dropped

And my app.module.ts looks like this:

import { Module } from '@nestjs/common';
import { ZeebeModule, ZeebeServer } from 'nestjs-zeebe';
import { AppController } from './app.controller';
import { AppService } from './app.service';

@Module({
  imports: [ZeebeModule.forRoot({ gatewayAddress: 'localhost:8080/engine-rest' })],
  controllers: [AppController],
  providers: [AppService, ZeebeServer],
})
export class AppModule { }

Would appreciate your help, thanks!

So the important thing to know is that Camunda 7 doesn’t use Zeebe as a process engine. So the API is very different.

If you’re using JavaScript and want to connect to Camunda 7 a good place to start is here.

Oh, got it!

I thought it was just a bad implementation I was doing!

Thanks a lot, I will check it out this way then!

1 Like

You could create your own C7 Nest integration.

That way the integration is useable by others. The way that I would tackle that is to examine the Zeebe Nest integration to see how an integration is written on the surface area, and then just replace the implementation using the Zeebe Node client with REST calls.

Josh

I working on that!!

Once I finish I will definitely submit to github!

Thanks

2 Likes

I got an error while running my nestjs application after installing external-task-client-js package. could you help me?

const camunda_external_task_client_js_1 = require(“camunda-external-task-client-js”);
^
Error [ERR_REQUIRE_ESM]: require() of ES Module D:\Learning\Camunda\camunda-listener\node_modules\camunda-external-task-client-js\index.js from
D:\Learning\Camunda\camunda-listener\dist\app.service.js not supported.
Instead change the require of index.js in D:\Learning\Camunda\camunda-listener\dist\app.service.js to a dynamic import() which is available in all CommonJS modules.