RetryStageExecution
You can retry a stage that has failed without having to run a pipeline again from the beginning. You do this by either retrying the failed actions in a stage or by retrying all actions in the stage starting from the first action in the stage. When you retry the failed actions in a stage, all actions that are still in progress continue working, and failed actions are triggered again. When you retry a failed stage from the first action in the stage, the stage cannot have any actions in progress. Before a stage can be retried, it must either have all actions failed or some actions failed and some succeeded.
Request Syntax
{
"pipelineExecutionId": "string
",
"pipelineName": "string
",
"retryMode": "string
",
"stageName": "string
"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- pipelineExecutionId
-
The ID of the pipeline execution in the failed stage to be retried. Use the GetPipelineState action to retrieve the current pipelineExecutionId of the failed stage
Type: String
Pattern:
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Required: Yes
- pipelineName
-
The name of the pipeline that contains the failed stage.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
[A-Za-z0-9.@\-_]+
Required: Yes
- retryMode
-
The scope of the retry attempt.
Type: String
Valid Values:
FAILED_ACTIONS | ALL_ACTIONS
Required: Yes
- stageName
-
The name of the failed stage to be retried.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
[A-Za-z0-9.@\-_]+
Required: Yes
Response Syntax
{
"pipelineExecutionId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- pipelineExecutionId
-
The ID of the current workflow execution in the failed stage.
Type: String
Pattern:
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}
Errors
For information about the errors that are common to all actions, see Common Errors.
- ConcurrentPipelineExecutionsLimitExceededException
-
The pipeline has reached the limit for concurrent pipeline executions.
HTTP Status Code: 400
- ConflictException
-
Your request cannot be handled because the pipeline is busy handling ongoing activities. Try again later.
HTTP Status Code: 400
- NotLatestPipelineExecutionException
-
The stage has failed in a later run of the pipeline and the
pipelineExecutionId
associated with the request is out of date.HTTP Status Code: 400
- PipelineNotFoundException
-
The pipeline was specified in an invalid format or cannot be found.
HTTP Status Code: 400
- StageNotFoundException
-
The stage was specified in an invalid format or cannot be found.
HTTP Status Code: 400
- StageNotRetryableException
-
Unable to retry. The pipeline structure or stage state might have changed while actions awaited retry, or the stage contains no failed actions.
HTTP Status Code: 400
- ValidationException
-
The validation was specified in an invalid format.
HTTP Status Code: 400
Examples
Example
This example illustrates one usage of RetryStageExecution.
Sample Request
POST / HTTP/1.1
Host: codepipeline.us-east-1.amazonaws.com
Accept-Encoding: identity
Content-Length: 173
X-Amz-Target: CodePipeline_20150709.RetryStageExecution
X-Amz-Date: 20151030T230047Z
User-Agent: aws-cli/1.7.38 Python/2.7.9 Windows/7
Content-Type: application/x-amz-json-1.1
Authorization: AWS4-HMAC-SHA256 Credential=AKIAI44QH8DHBEXAMPLE/20151030/us-east-1/codepipeline/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=8d9b5998EXAMPLE
{
"pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE",
"pipelineName": "MyFirstPipeline",
"retryMode": "FAILED_ACTIONS",
"stageName": "Staging"
}
Sample Response
HTTP/1.1 200 OK
x-amzn-RequestId: 620484b7-88cb-11e5-b497-75c49EXAMPLE
Content-Type: application/x-amz-json-1.1
Content-Length: 30
{
"pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: