This parameters template demonstrates the Start Step Functions Execution action: 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 JSON escaping requirements
$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 releaseStart Step Functions Execution parameters example (escaped manually)
{
"StateMachineArn": "arn:aws:states:ap-southeast-2:123456789012:stateMachine:sample-AutomationWithAWSQuickstartStepFunctionsStateMachine-UHDE4Y9QTDIN",
"Input": "{ \"Event\":\"$event.simpleName\", \"Timestamp\": \"$event.timestamp\", \"TraceID\": \"$event.traceId\"}"
}
Start Step Functions Execution parameters example (escaped with utility function)
{
"StateMachineArn": "arn:aws:states:ap-southeast-2:123456789012:stateMachine:sample-AutomationWithAWSQuickstartStepFunctionsStateMachine-UHDE4Y9QTDIN",
"Input": "$util.escapeJson('{
"Event": "$event.simpleName",
"Timestamp": "$event.timestamp",
"TraceID": "$event.traceId"
}')"
}
Manage space
Manage content
Integrations