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 6 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 - Bamboo System Notification (escaped manually)

{
  "Entries": [
    {
      "Time": "$event.timestamp",
      "Source": "net.utoolity.atlassian.bamboo.automation-with-aws-bamboo",
      "DetailType": "Bamboo System Notification",
      "Detail": "{ \"plan\": $plan }"
    }
  ]
}

Put EventBridge/CloudWatch Events parameters example - Bamboo System Notification (escaped with utility function)

{
  "Entries": [
    {
      "Time": "$event.timestamp",
      "Source": "net.utoolity.atlassian.bamboo.automation-with-aws-bamboo",
      "DetailType": "Bamboo System Notification",
      "Detail": "$util.escapeJson('{
        "plan": $plan
      }')"
    }
  ]
}



  • No labels