Call AWS CodeBuild with Step Functions - AWS Step Functions

Call AWS CodeBuild with Step Functions

Step Functions can control certain AWS services directly from Amazon States Language (ASL). To learn more, see Working with other services and Pass parameters to a service API.

How the Optimized CodeBuild integration is different than the CodeBuild AWS SDK integration
  • The Run a Job (.sync) integration pattern is supported.

  • After you call StopBuild or StopBuildBatch, the build or build batch is not immediately deletable until some internal work is completed within CodeBuild to finalize the state of the build or builds. If you attempt to use BatchDeleteBuilds or DeleteBuildBatch during this period, the build or build batch may not be deleted. The optimized service integrations for BatchDeleteBuilds and DeleteBuildBatch include an internal retry to simplify the use case of deleting immediately after stopping.

The AWS Step Functions service integration with AWS CodeBuild enables you to use Step Functions to trigger, stop, and manage builds, and to share build reports. Using Step Functions, you can design and run continuous integration pipelines for validating your software changes for applications.

Not all APIs support all integration patterns, as shown in the following table.

API Request Response Run a Job (.sync)
StartBuild
StopBuild
BatchDeleteBuilds
BatchGetReports
StartBuildBatch
StopBuildBatch
RetryBuildBatch
DeleteBuildBatch
Parameters in Step Functions are expressed in PascalCase

Even if the native service API is in camelCase, for example the API action startSyncExecution, you specify parameters in PascalCase, such as: StateMachineArn.

Supported CodeBuild APIs and syntax:

Note

You can use the JSONPath recursive descent (..) operator for BatchDeleteBuilds. This returns an array, and enables you to turn the Arn field from StartBuild into a plural Ids parameter, as shown in the following example.

"BatchDeleteBuilds": { "Type": "Task", "Resource": "arn:aws:states:::codebuild:batchDeleteBuilds", "Parameters": { "Ids.$": "$.Build..Arn" }, "Next": "MyNextState" },

For information about how to configure IAM permissions when using Step Functions with other AWS services, see IAM Policies for integrated services.