A signal is an event of global scope (broadcast semantics) and is delivered to all active handlers.Internally this maps to the engine’s signal event received builder method RuntimeService#createSignalEvent().For more information about the signal behavior, see the Signal Eventssection of the BPMN 2.0 Implementation Reference.

Method

POST /signal

Parameters

Request Body

A JSON object with the following properties:

Name Description
name The name of the signal to deliver.Note: This property is mandatory.
executionId Optionally specifies a single execution which is notified by the signal.Note: If no execution id is defined the signal is broadcasted to all subscribed handlers.
Name Description
——-
variables A JSON object containing variable key-value pairs. Each key is a variable name and each value a JSON variable value object.
NameDescription
valueThe variable's value. For variables of type Object, the serialized value has to be submitted as a String value.
For variables of type File the value has to be submitted as Base64 encoded string.
typeThe value type of the variable.
valueInfo A JSON object containing additional, value-type-dependent properties.
For serialized variables of type Object, the following properties can be provided:

- objectTypeName: A string representation of the object's type name.
- serializationDataFormat: The serialization format used to store the variable.
For serialized variables of type File, the following properties can be provided:

- filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again.
- mimetype: The MIME type of the file that is being uploaded.
- encoding: The encoding of the file that is being uploaded.
The following property can be provided for all value types:

- transient: Indicates whether the variable should be transient or not. See documentation for more informations.

|value|The variable's value. For variables of type Object, the serialized value has to be submitted as a String value.
For variables of type File the value has to be submitted as Base64 encoded string.
|type|The value type of the variable.|valueInfo| A JSON object containing additional, value-type-dependent properties.
For serialized variables of type Object, the following properties can be provided:

  • objectTypeName: A string representation of the object's type name.
  • serializationDataFormat: The serialization format used to store the variable.
    For serialized variables of type File, the following properties can be provided:

  • filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again.

  • mimetype: The MIME type of the file that is being uploaded.
  • encoding: The encoding of the file that is being uploaded.
    The following property can be provided for all value types:

  • transient: Indicates whether the variable should be transient or not. See documentation for more informations.
    |Name|Description
    |——-
    |value|The variable's value. For variables of type Object, the serialized value has to be submitted as a String value.
    For variables of type File the value has to be submitted as Base64 encoded string.

|type|The value type of the variable.
|valueInfo| A JSON object containing additional, value-type-dependent properties.
For serialized variables of type Object, the following properties can be provided:

  • objectTypeName: A string representation of the object's type name.
  • serializationDataFormat: The serialization format used to store the variable.
    For serialized variables of type File, the following properties can be provided:

  • filename: The name of the file. This is not the variable name but the name that will be used when downloading the file again.

  • mimetype: The MIME type of the file that is being uploaded.
  • encoding: The encoding of the file that is being uploaded.
    The following property can be provided for all value types:

  • transient: Indicates whether the variable should be transient or not. See documentation for more informations.
    |tenantId|Specifies a tenant to deliver the signal. The signal can only be received on executions or process definitions which belongs to the given tenant.Note: Cannot be used in combination with executionId.
    |withoutTenantId|If true the signal can only be received on executions or process definitions which belongs to no tenant. Value may not be false as this is the default behavior.Note: Cannot be used in combination with executionId.

Result

This method returns no content.

Response Codes

Code Media type Description
204 Request successful.
400 application/json
  • If no name was given
  • If the variable value or type is invalid, for example if the value could not be parsed to an integer value or the passed variable type is not supported
  • If a tenant id and an execution id is specified
    |403|application/json|If the user is not allowed to throw a signal event.
    |500|application/json| If a single execution is specified and no such execution exists or has not subscribed to the signal.

Also see the introduction for the errorresponse format.

Example

Request

POST /signal

Request Body:

  1. {
  2. "name": "policy_conditions_changed",
  3. "variables": {
  4. "newTimePeriodInMonth": {
  5. "value": 24
  6. }
  7. }
  8. }

Response

Status 204. No content.

原文: https://docs.camunda.org/manual/7.9/reference/rest/signal/post-signal/