TestRepositoryTriggers - Amazon CodeCommit
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

TestRepositoryTriggers

Tests the functionality of repository triggers by sending information to the trigger target. If real data is available in the repository, the test sends data from the last commit. If no data is available, sample data is generated.

Request Syntax

{ "repositoryName": "string", "triggers": [ { "branches": [ "string" ], "customData": "string", "destinationArn": "string", "events": [ "string" ], "name": "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.

repositoryName

The name of the repository in which to test the triggers.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [\w\.-]+

Required: Yes

triggers

The list of triggers to test.

Type: Array of RepositoryTrigger objects

Required: Yes

Response Syntax

{ "failedExecutions": [ { "failureMessage": "string", "trigger": "string" } ], "successfulExecutions": [ "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.

failedExecutions

The list of triggers that were not tested. This list provides the names of the triggers that could not be tested, separated by commas.

Type: Array of RepositoryTriggerExecutionFailure objects

successfulExecutions

The list of triggers that were successfully tested. This list provides the names of the triggers that were successfully tested, separated by commas.

Type: Array of strings

Errors

For information about the errors that are common to all actions, see Common Errors.

EncryptionIntegrityChecksFailedException

An encryption integrity check failed.

HTTP Status Code: 500

EncryptionKeyAccessDeniedException

An encryption key could not be accessed.

HTTP Status Code: 400

EncryptionKeyDisabledException

The encryption key is disabled.

HTTP Status Code: 400

EncryptionKeyNotFoundException

No encryption key was found.

HTTP Status Code: 400

EncryptionKeyUnavailableException

The encryption key is not available.

HTTP Status Code: 400

InvalidRepositoryNameException

A specified repository name is not valid.

Note

This exception occurs only when a specified repository name is not valid. Other exceptions occur when a required repository parameter is missing, or when a specified repository does not exist.

HTTP Status Code: 400

InvalidRepositoryTriggerBranchNameException

One or more branch names specified for the trigger is not valid.

HTTP Status Code: 400

InvalidRepositoryTriggerCustomDataException

The custom data provided for the trigger is not valid.

HTTP Status Code: 400

InvalidRepositoryTriggerDestinationArnException

The Amazon Resource Name (ARN) for the trigger is not valid for the specified destination. The most common reason for this error is that the ARN does not meet the requirements for the service type.

HTTP Status Code: 400

InvalidRepositoryTriggerEventsException

One or more events specified for the trigger is not valid. Check to make sure that all events specified match the requirements for allowed events.

HTTP Status Code: 400

InvalidRepositoryTriggerNameException

The name of the trigger is not valid.

HTTP Status Code: 400

InvalidRepositoryTriggerRegionException

The Amazon Web Services Region for the trigger target does not match the Amazon Web Services Region for the repository. Triggers must be created in the same Amazon Web Services Region as the target for the trigger.

HTTP Status Code: 400

MaximumBranchesExceededException

The number of branches for the trigger was exceeded.

HTTP Status Code: 400

MaximumRepositoryTriggersExceededException

The number of triggers allowed for the repository was exceeded.

HTTP Status Code: 400

RepositoryDoesNotExistException

The specified repository does not exist.

HTTP Status Code: 400

RepositoryNameRequiredException

A repository name is required, but was not specified.

HTTP Status Code: 400

RepositoryTriggerBranchNameListRequiredException

At least one branch name is required, but was not specified in the trigger configuration.

HTTP Status Code: 400

RepositoryTriggerDestinationArnRequiredException

A destination ARN for the target service for the trigger is required, but was not specified.

HTTP Status Code: 400

RepositoryTriggerEventsListRequiredException

At least one event for the trigger is required, but was not specified.

HTTP Status Code: 400

RepositoryTriggerNameRequiredException

A name for the trigger is required, but was not specified.

HTTP Status Code: 400

RepositoryTriggersListRequiredException

The list of triggers for the repository is required, but was not specified.

HTTP Status Code: 400

Examples

Example

This example illustrates one usage of TestRepositoryTriggers.

Sample Request

POST / HTTP/1.1 Host: codecommit.us-east-1.amazonaws.com Accept-Encoding: identity Content-Length: 33 X-Amz-Target: CodeCommit_20150413.TestRepositoryTriggers X-Amz-Date: 20151028T230050Z 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/20151028/us-east-1/codecommit/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=8d9b5998EXAMPLE { "repositoryName": "MyDemoRepo", "triggers": [ { "name": "MyFirstTrigger", "destinationArn": "arn:aws:sns:us-east-1:123456789012:MyCodeCommitTopic", "branches": [ "main", "preprod" ], "events": [ "all" ] }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: 0728aaa8-EXAMPLE Content-Type: application/x-amz-json-1.1 Content-Length: 107 Date: Wed, 28 Oct 2015 23:00:52 GMT { "successfulExecutions": [ "MyFirstTrigger" ], "failedExecutions": [] }

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: