Integrations
You can use the Send SQS Message action with the following integrations:
Requirements
The Send SQS Message action requires sufficient IAM permissions - an adequate IAM policy similar to the one provisioned by the Automation with AWS (Core) CloudFormation template might look as follows:
Refer to Using Identity-Based (IAM) Policies for Amazon SQS for details on how to create more granular/secure policies, including a few Basic Amazon SQS Policy Examples.
Configuration
To configure a Send SQS Message action:
Complete the following settings:
Parameters Specify the action parameters according to the following skeleton in JSON format – refer to sqs . send-message for details:
A message can include only XML, JSON, and unformatted text. The following Unicode characters are allowed:
#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFFAny characters not included in this list will be rejected. For more information, see the W3C specification for characters .
You can inject contextual variables into the remote action payload, refer to Entity Variables for details.
Send SQS Message skeleton{ "QueueUrl": "", "MessageBody": "", "DelaySeconds": 0, "MessageAttributes": { "KeyName": { "StringValue": "", "BinaryValue": null, "StringListValues": [ "" ], "BinaryListValues": [ null ], "DataType": "" } }, "MessageDeduplicationId": "", "MessageGroupId": "" }
Entity Variables
Examples
-
Send SQS Message - raw text payload — This parameters template demonstrates the Send SQS Message action:
Send SQS Message parameters example (raw text payload)
{ "QueueUrl": "https://sqs.ap-southeast-2.amazonaws.com/123456789012/sample-AutomationWithAWSQuickstartSQSQueue-1NAIZP8U9XJ1X", "MessageBody": "Automation with AWS: $event.simpleName with trace ID $event.traceId triggered at $event.timestamp - see ${bamboo.resultsUrl} for details." }
-
Send SQS Message - structured JSON payload — This parameters template demonstrates the Send SQS Message 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:
custom content needs to be escaped, which can be achieved by Composing action payloads with utility functions, specifically the $util.escapeJson() function
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
Send SQS Message parameters example (Atlassian Workflow Event – escaped manually)
{ "QueueUrl": "https://sqs.ap-southeast-2.amazonaws.com/123456789012/sample-AutomationWithAWSQuickstartSQSQueue-1NAIZP8U9XJ1X", "MessageBody": "{ \"event\": \"$event.simpleName\", \"timestamp\": \"$event.timestamp\", \"traceId\": \"$event.traceId\" }" }
Send SQS Message parameters example (Atlassian Workflow Event – escaped with utility function)
{ "QueueUrl": "https://sqs.ap-southeast-2.amazonaws.com/123456789012/sample-AutomationWithAWSQuickstartSQSQueue-1NAIZP8U9XJ1X", "MessageBody": "$util.escapeJson('{ "event": "$event.simpleName", "timestamp": "$event.timestamp", "traceId": "$event.traceId" }')" }
How-to Articles
Frequently Asked Questions (FAQ)
Atlassian account required