The following plugin provides functionality available through Pipeline-compatible steps. Read more about how to integrate steps into your Pipeline in the Steps section of the Pipeline Syntax page.

For a list of other such plugins, see the Pipeline Steps Reference page.

JMS Messaging Plugin

sendCIMessage: CI Notifier

  • providerData
      Nested Choice of Objects
    • activeMQPublisher
      • failOnError : boolean (optional)

        Whether you want to fail the build if there is an error sending a message. By default, it is false.

      • messageContent : String (optional)

        Content of CI message to be sent. Environment variable values may be used in the content to allow customization of the message. Environment variables should use the familiar bash shell format, e.g. ${VARIABLE}.

      • messageProperties : String (optional)

        KEY=value pairs, one per line (Java properties file format) to be used as message properties. Backslashes are used for escaping, so use "\\" for a single backslash. Current build parameters and/or environment variables can be used in form: ${PARAM}.

      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • timeToLiveMinutes : int (optional)

        Sets the length of time in minutes from its dispatch time that a produced message should be retained by the message system.

    • activeMQSubscriber
      • checks (optional)
          Array / List of Nested Object
        • field : String
        • expectedValue : String
      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • selector : String (optional)

        JMS selector to choose messages that will fire the trigger.

      • timeout : int (optional)

        Value (in minutes) to wait for a message matching the specified JMS selector.

      • useFiles : boolean (optional)

        Check this box to place the message contents in a file instead of an environment variable.

        The file created will be the same name as the environment variable, and a file for the headers will be created as well.

      • variable : String (optional)

        Environment variable to hold received message content. Note that a second environment variable "${VARIABLE}_HEADERS" is created for the message headers.

        To pass message content by file instead, configure as follows:

        • CI Build Trigger

          Create a FileParameter on the job with the name of the variable specified here. If you want the message headers as a file as well, create a FileParameter named "${VARIABLE}_HEADERS".

        • Job and Pipeline Steps

          Check the "Use files instead of environment variables" checkbox. This will create files in the workspace with the same names as the environment variables.
    • kafkaPublisher
      • failOnError : boolean (optional)

        Whether or not to fail the build if there is an error sending a message. By default, it is false.

      • messageContent : String (optional)

        Content of message to be sent. Environment variable values may be used in the content to allow customization of the message. Environment variables should use the familiar bash shell format, e.g. ${VARIABLE}.

      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • properties : String (optional)

        Properties to use for Kafka producers. These properties are merged with a set of default properties before being used to create a producer. Properties specified here will override a value set in the default properties.

        The default producer properties are as follows:

        key.serializer=org.apache.kafka.common.serialization.StringSerializer
        value.serializer=org.apache.kafka.common.serialization.StringSerializer
        acks=all
        retries=0
            

        A default "bootstrap.servers" property should have been included when the Kafka provider was configured. This may be overridden here if desired.

        The full set of producer properties may be found here.

    • kafkaSubscriber
      • checks (optional)
          Array / List of Nested Object
        • field : String
        • expectedValue : String
      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • properties : String (optional)

        Properties to use for Kafka consumers. These properties are merged with a set of default properties before being used to create a consumer. Properties specified here will override a value set in the default properties.

        The default consumer properties are as follows:

        max.poll.records=1
        key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
        value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
        group.id=jms-messaging-<uuid>
        enable.auto.commit=true
        auto.commit.interval.ms=1000
        session.timeout.ms=30000
            

        A default "bootstrap.servers" property should have been included when the Kafka provider was configured. This may be overridden here if desired.

        The full set of consumer properties may be found here.

      • timeout : int (optional)

        Value (in minutes) to wait for a matching message.

      • useFiles : boolean (optional)

        Check this box to place the message contents in a file instead of an environment variable.

        The file created will be the same name as the environment variable, and a file for the record will be created as well.

      • variable : String (optional)

        Environment variable to hold received message content. Note that the entire Kafka record (not including the "value" field) in JSON format will also be available in the environment variable "${VARIABLE}_RECORD".

        To pass message content by file instead, configure as follows:

        • CI Build Trigger

          Create a FileParameter on the job with the name of the variable specified here. If you want the Kafka record as a file as well, create a FileParameter named "${VARIABLE}_RECORD".

        • Job and Pipeline Steps

          Check the "Use files instead of environment variables" checkbox. This will create files in the workspace with the same names as the environment variables.
    • rabbitMQPublisher
      • failOnError : boolean (optional)

        Whether you want to fail the build if there is an error sending a message. By default, it is false.

      • fedoraMessaging : boolean (optional)
      • messageContent : String (optional)

        Content of CI message to be sent. Environment variable values may be used in the content to allow customization of the message. Environment variables should use the familiar bash shell format, e.g. ${VARIABLE}.

      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • schema : String (optional)

        Path to message schema.

      • severity : int (optional)

        Severity of the message.

    • rabbitMQSubscriber
      • checks (optional)
          Array / List of Nested Object
        • field : String
        • expectedValue : String
      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • timeout : int (optional)

        Value (in minutes) to wait for a message.

      • useFiles : boolean (optional)

        Check this box to place the message contents in a file instead of an environment variable.

        The file created will be the same name as the environment variable.

      • variable : String (optional)

        Environment variable to hold received message content.

        To pass message content by file instead, configure as follows:

        • CI Build Trigger

          Create a FileParameter on the job with the name of the variable specified here.

        • Job and Pipeline Steps

          Check the "Use files instead of environment variables" checkbox. This will create files in the workspace with the same names as the environment variables.

waitForCIMessage: CI Subscriber

Subscribe to the CI message bus and wait for a message matching the specified JMS selector.

The timeout value specifies the maximum number of minutes to wait for a message matching the JMS selector to appear.

This step returns the value of the Message content as a string

node {
  def messageContent = waitForCIMessage selector: "CI_TYPE = 'code-quality-checks-done' and CI_STATUS = 'failed'"
  // The message content is now available as a variable
  echo messageContent
  // The message content is set as an environment variable
  env.messageContent = messageContent
  sh 'path/to/a/script.sh'
}
  • providerData
      Nested Choice of Objects
    • activeMQPublisher
      • failOnError : boolean (optional)

        Whether you want to fail the build if there is an error sending a message. By default, it is false.

      • messageContent : String (optional)

        Content of CI message to be sent. Environment variable values may be used in the content to allow customization of the message. Environment variables should use the familiar bash shell format, e.g. ${VARIABLE}.

      • messageProperties : String (optional)

        KEY=value pairs, one per line (Java properties file format) to be used as message properties. Backslashes are used for escaping, so use "\\" for a single backslash. Current build parameters and/or environment variables can be used in form: ${PARAM}.

      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • timeToLiveMinutes : int (optional)

        Sets the length of time in minutes from its dispatch time that a produced message should be retained by the message system.

    • activeMQSubscriber
      • checks (optional)
          Array / List of Nested Object
        • field : String
        • expectedValue : String
      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • selector : String (optional)

        JMS selector to choose messages that will fire the trigger.

      • timeout : int (optional)

        Value (in minutes) to wait for a message matching the specified JMS selector.

      • useFiles : boolean (optional)

        Check this box to place the message contents in a file instead of an environment variable.

        The file created will be the same name as the environment variable, and a file for the headers will be created as well.

      • variable : String (optional)

        Environment variable to hold received message content. Note that a second environment variable "${VARIABLE}_HEADERS" is created for the message headers.

        To pass message content by file instead, configure as follows:

        • CI Build Trigger

          Create a FileParameter on the job with the name of the variable specified here. If you want the message headers as a file as well, create a FileParameter named "${VARIABLE}_HEADERS".

        • Job and Pipeline Steps

          Check the "Use files instead of environment variables" checkbox. This will create files in the workspace with the same names as the environment variables.
    • kafkaPublisher
      • failOnError : boolean (optional)

        Whether or not to fail the build if there is an error sending a message. By default, it is false.

      • messageContent : String (optional)

        Content of message to be sent. Environment variable values may be used in the content to allow customization of the message. Environment variables should use the familiar bash shell format, e.g. ${VARIABLE}.

      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • properties : String (optional)

        Properties to use for Kafka producers. These properties are merged with a set of default properties before being used to create a producer. Properties specified here will override a value set in the default properties.

        The default producer properties are as follows:

        key.serializer=org.apache.kafka.common.serialization.StringSerializer
        value.serializer=org.apache.kafka.common.serialization.StringSerializer
        acks=all
        retries=0
            

        A default "bootstrap.servers" property should have been included when the Kafka provider was configured. This may be overridden here if desired.

        The full set of producer properties may be found here.

    • kafkaSubscriber
      • checks (optional)
          Array / List of Nested Object
        • field : String
        • expectedValue : String
      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • properties : String (optional)

        Properties to use for Kafka consumers. These properties are merged with a set of default properties before being used to create a consumer. Properties specified here will override a value set in the default properties.

        The default consumer properties are as follows:

        max.poll.records=1
        key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
        value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
        group.id=jms-messaging-<uuid>
        enable.auto.commit=true
        auto.commit.interval.ms=1000
        session.timeout.ms=30000
            

        A default "bootstrap.servers" property should have been included when the Kafka provider was configured. This may be overridden here if desired.

        The full set of consumer properties may be found here.

      • timeout : int (optional)

        Value (in minutes) to wait for a matching message.

      • useFiles : boolean (optional)

        Check this box to place the message contents in a file instead of an environment variable.

        The file created will be the same name as the environment variable, and a file for the record will be created as well.

      • variable : String (optional)

        Environment variable to hold received message content. Note that the entire Kafka record (not including the "value" field) in JSON format will also be available in the environment variable "${VARIABLE}_RECORD".

        To pass message content by file instead, configure as follows:

        • CI Build Trigger

          Create a FileParameter on the job with the name of the variable specified here. If you want the Kafka record as a file as well, create a FileParameter named "${VARIABLE}_RECORD".

        • Job and Pipeline Steps

          Check the "Use files instead of environment variables" checkbox. This will create files in the workspace with the same names as the environment variables.
    • rabbitMQPublisher
      • failOnError : boolean (optional)

        Whether you want to fail the build if there is an error sending a message. By default, it is false.

      • fedoraMessaging : boolean (optional)
      • messageContent : String (optional)

        Content of CI message to be sent. Environment variable values may be used in the content to allow customization of the message. Environment variables should use the familiar bash shell format, e.g. ${VARIABLE}.

      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • schema : String (optional)

        Path to message schema.

      • severity : int (optional)

        Severity of the message.

    • rabbitMQSubscriber
      • checks (optional)
          Array / List of Nested Object
        • field : String
        • expectedValue : String
      • name : String (optional)
      • overrides (optional)
          Nested Object
        • topic : String (optional)
        • queue : String (optional)
      • timeout : int (optional)

        Value (in minutes) to wait for a message.

      • useFiles : boolean (optional)

        Check this box to place the message contents in a file instead of an environment variable.

        The file created will be the same name as the environment variable.

      • variable : String (optional)

        Environment variable to hold received message content.

        To pass message content by file instead, configure as follows:

        • CI Build Trigger

          Create a FileParameter on the job with the name of the variable specified here.

        • Job and Pipeline Steps

          Check the "Use files instead of environment variables" checkbox. This will create files in the workspace with the same names as the environment variables.

Was this page helpful?

Please submit your feedback about this page through this quick form.

Alternatively, if you don't wish to complete the quick form, you can simply indicate if you found this page helpful?

    


See existing feedback here.