Send Signal using REST API

Hi guys,
I need to send an Signal Event by Rest. there are many process engine that need catch the event. I want send broadcast signal (without execution). Is it possible?

In Java I can do it with this snippet:
// broadcast signal
runtimeService
.createSignalEvent(“signalName”)
.setVariables(variables)
.send();

Thanks
Luca

Hi Luca,

That is not implemented yet, see https://app.camunda.com/jira/browse/CAM-4099.

Cheers,
Thorben

@lsantaniello as à work around you can create a small process with a message start event that you capture a message and resend it as a signal.

Yes, I already make this process in order to test my flow but Into my scenario I can’t create a new process. What is the best practice? Why this Rest Service doesn’t exist?

Thanks

The other way is to not use Signals and just use Messages. In the Camunda engine, the Messages can be used to accomplish the same things as Signals. You can correlate Messages to Many instances and processes.

The Message is not a brodcast communication. Right?

A Message can be used to “broadcast”. Its just the way the engine was built. It can can be broadcasted to many process instances.

2 Likes

Have you a example scenario to show it?

Thanks

Here is a example executing using a expression: ${execution.getProcessEngineServices().getRuntimeService().createMessageCorrelation("work").correlateWithResult()}

Doc: RuntimeService (camunda BPM Javadocs 7.6.13-ee) RuntimeService (camunda BPM Javadocs 7.6.13-ee)

Here is a example using scripts/javascript where a event is received and then re-correlated based on the “Correlate With Process…” task: