Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Current »

This parameters template demonstrates the Put EventBridge/CloudWatch Events action:

JSON escaping requirements

If a parameter within the JSON formatted parameters template is a JSON structure in itself (e.g. the Lambda function payload), it needs to be escaped before adding it as a value - this has two implications:

  • (tick) custom content needs to be escaped, which can be achieved by Composing action payloads with utility functions, specifically the $util.escapeJson() function

  • (warning) variables with conflicting content (e.g. multi line variables like JIRA's $issue.fields.description or Bamboo's $notification.textEmailContent or JSON structures retrieved via JSONPath) need to be escaped twice, via $util.escapeJson($util.escapeJson(...)) - we are exploring options on how to make this easier in a future release

Event Patterns in CloudWatch Events

This is an opinionated example that works well for ingesting custom events from Atlassian products – refer to Event Patterns in CloudWatch Events for details on these and other available fields.


Put EventBridge/CloudWatch Events parameters example - Atlassian Workflow Event (escaped manually)

{
  "Entries": [
    {
      "Source": "net.utoolity.atlassian",
      "DetailType": "Atlassian Workflow Event",
      "Detail": "{ \"event\": \"$event.simpleName\", \"traceId\": \"$event.traceId\" }"
    }
  ]
}

Put EventBridge/CloudWatch Events parameters example - Atlassian Workflow Event (escaped with utility function)

{
  "Entries": [
    {
      "Time": "$event.timestamp",
      "Source": "net.utoolity.atlassian",
      "DetailType": "Atlassian Workflow Event",
      "Detail": "$util.escapeJson('{
        "event": "$event.simpleName",
        "traceID": "$event.traceId"
      }')"
    }
  ]
}


  • No labels