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 14 Next »

Use the Start Step Functions Execution action to process Bamboo tasks and notifications, Jira workflow transitions and Jira Service Management automation rule executions with AWS Step Functions to coordinate multiple AWS services into serverless workflows so you can build and update apps quickly:

Using Step Functions, you can design and run workflows that stitch together services such as AWS Lambda and Amazon ECS into feature-rich applications. Workflows are made up of a series of steps, with the output of one step acting as input into the next. Application development is simpler and more intuitive using Step Functions, because it translates your workflow into a state machine diagram that is easy to understand, easy to explain to others, and easy to change. You can monitor each step of execution as it happens, which means you can identify and fix problems quickly. Step Functions automatically triggers and tracks each step, and retries when there are errors, so your application executes in order and as expected.


Integrations

You can use the Start Step Functions Execution action with the following integrations:

Requirements

The Start Step Functions Execution 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:

 Click here to expand...
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "StepFunctionsServiceActions",
            "Effect": "Allow",
            "Action": "states:*",
            "Resource": "*"
        },
        {
            "Sid": "StepFunctionsPassRole",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/service-role/StatesExecutionRole*"
        }
    ]
}

(lightbulb) Refer to Creating IAM Roles for Use with AWS Step Functions for details on how to create more granular/secure policies.

Configuration

To configure an Start Step Functions Execution action:

Complete the following settings:

Parameters

Specify the action parameters according to the following skeleton in JSON format – refer to stepfunctions . start-execution for details:

You typically only specify the stateMachineArn and input parameters, because name must be unique for your AWS account and region and properly defaults to a GUID when absent.

You can inject contextual variables into the remote action payload, refer to Entity Variables for details.

Start Step Functions Execution skeleton

{
    "stateMachineArn": "",
    "name": "",
    "input": ""
}

Entity Variables

You can inject contextual workflow variables with workflow entities into the remote action payload template – currently available entities are:

Examples

  • Page:
    Start Step Functions Execution — This parameters template demonstrates the Start Step Functions Execution 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

    Start 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"
      }')"
    }

How-to Articles

Filter by label

There are no items with the selected labels at this time.

Frequently Asked Questions (FAQ)

Atlassian account required

Due to a regression within Questions for Confluence Cloud, you need to log in with your Atlassian ID (or sign up for a new account) to access these automatically curated FAQs (refer to UAA-312 for the background).

  • No labels