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