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 Deployment Task Execution (escaped manually)

{
  "Entries": [
    {
      "Time": "$event.timestamp",
      "Source": "net.utoolity.atlassian.bamboo.automation-with-aws-bamboo",
      "DetailType": "Bamboo Deployment Task Execution",
      "Detail": "{ \"agentId\": \"${bamboo.agentId}\", \"buildResultKey\": \"${bamboo.buildResultKey}\", \"resultsUrl\": \"${bamboo.resultsUrl}\", \"deploymentProject\": \"${bamboo.deploy.project}\", \"deploymentEnvironment\": \"${bamboo.deploy.environment}\" }"
    }
  ]
}

Put EventBridge/CloudWatch Events parameters example - Bamboo Deployment Task Execution (escaped with utility function)

{
  "Entries": [
    {
      "Time": "$event.timestamp",
      "Source": "net.utoolity.atlassian.bamboo.automation-with-aws-bamboo",
      "DetailType": "Bamboo Deployment Task Execution",
      "Detail": "$util.escapeJson('{
        "agentId": "${bamboo.agentId}",
        "buildResultKey": "${bamboo.buildResultKey}",
        "resultsUrl": "${bamboo.resultsUrl}",
        "deploymentProject": "${bamboo.deploy.project}",
        "deploymentEnvironment": "${bamboo.deploy.environment}"
      }')"
    }
  ]
}

  • No labels