Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languageyaml
pipeline:
  - message.listen:
      key: pipeforce.event.workflow.#
      
  - mail.send:
      to: admin@company.tld
      subject: A workflow event happened.

Pattern matching

When registering a listener for an event key, also pattern matching can be used:

...

For example the event key from above pipeforce.event.workflow.# matches all workflow event messages while pipeforce.event.workflow.*.my.app matches only workflow event messages inside the app my.app.

Default headers

Every message contains these default headers:

  • "namespace": ns
    Whereas ns is the namespace this event happened inside. Cannot be changed for security reasons.

  • "content_type": application/json
    An event message body is always of type JSON.

Reference Documentation

Here is the reference of these event message messages and their keys (also known as topics):

...

  • {appName}
    Will be replaced by the name of the app, the related property is stored inside. For example io.pipeforce.myapp.

  • {propertyPath}
    The namespace relative path (= no /pipeforce/ns prefix) of the related property whereas slashes in path of property will become dots. Dots and special chars in origin path will be replaced by underscores. Everything in path is lower-cased. For example ns.global.app.com.mycompany.myapp.data.
    This way also pattern matching filtering can be applied on the path level. In order to listen on any property event on any property inside the data folder of your app you could use a key like this:

    Code Block
    pipeforce.event.property.*.ns.global.app.com.mycompany.myapp.data.*

...

{propertyPath} will be replaced by the namespace relative path of the relative property path whereas each slash will be replaced by dots.

...

Code Block
pipeforce.event.property.copied.{propertyPath}

{propertyPath} will be replaced by the namespace relative path of the property whereas each slash will be replaced by dots.

The structure of the message body:

...

Code Block
pipeforce.event.property.deleted.{propertyPath}

{propertyPath} will be replaced by the namespace relative path of the property whereas each slash will be replaced by dots.

The structure of the message body:

...

Code Block
pipeforce.event.property.updated.{propertyPath}

{propertyPath} will be replaced by the namespace relative path of the property whereas each slash will be replaced by dots.

The structure of the message body:

...