- unmigrated-wiki-markup
Documentation for Automation with AWS AWS 1.1 – other releases are available in the Automation with AWS Documentation Directory.
View
or visit the current documentation home.
Using the Invoke Lambda Function action
Integrations
You can use the Invoke Lambda Function action with the following integrations:
Filter by label
There are no items with the selected labels at this time.
Requirements
The Invoke Lambda Function 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 Overview of Managing Access Permissions to Your AWS Lambda Resources for details on how to create more granular/secure policies.
Configuration
To configure an Invoke Lambda Function action:
Complete the following settings:
Parameters Specify the action parameters according to the following skeleton in JSON format – refer to lambda . invoke for details:
You typically only specify the
FunctionName
andPayload
parameters, and not all parameters documented for lambda . invoke are applicable here (invocation-type
andlog-type
are not meaningful, andoutfile
is not supported).You can inject contextual variables into the remote action payload, refer to Entity Variables for details.
Invoke Lambda Function skeleton{ "FunctionName": "", "Payload": {}, "Qualifier": "", "ClientContext": {} }
Entity Variables
Examples
-
Invoke Lambda Function — This parameters template demonstrates the Invoke Lambda Function 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
Invoke Lambda Function parameters example (escaped manually)
{ "FunctionName": "arn:aws:lambda:ap-southeast-2:123456789012:function:sample-AutomationWithAWSQuickstartLamb-1RRX37PWXZXLS", "Payload": "{ \"Event\":\"$event.simpleName\", \"Timestamp\": \"$event.timestamp\", \"TraceID\": \"$event.traceId\"}" }
Invoke Lambda Function parameters example (escaped with utility function)
{ "FunctionName": "arn:aws:lambda:ap-southeast-2:123456789012:function:sample-AutomationWithAWSQuickstartLamb-1RRX37PWXZXLS", "Payload": "$util.escapeJson('{ "Event": "$event.simpleName", "Timestamp": "$event.timestamp", "TraceID": "$event.traceId" }')" }
How-to Articles
Filter by label
There are no items with the selected labels at this time.
Frequently Asked Questions (FAQ)
Amazon Web Services™, AWS™ and the “Powered by Amazon Web Services” logo are trademarks of Amazon.com, Inc. or its affiliates in the United States and/or other countries.
Utoolity® is a registered trademark of Utoolity GmbH.
© 2024 Utoolity GmbH. All rights reserved.