CreateCustomActionType
Creates a new custom action that can be used in all pipelines associated with the AWS account. Only used for custom actions.
Request Syntax
{
"category": "string
",
"configurationProperties": [
{
"description": "string
",
"key": boolean
,
"name": "string
",
"queryable": boolean
,
"required": boolean
,
"secret": boolean
,
"type": "string
"
}
],
"inputArtifactDetails": {
"maximumCount": number
,
"minimumCount": number
},
"outputArtifactDetails": {
"maximumCount": number
,
"minimumCount": number
},
"provider": "string
",
"settings": {
"entityUrlTemplate": "string
",
"executionUrlTemplate": "string
",
"revisionUrlTemplate": "string
",
"thirdPartyConfigurationUrl": "string
"
},
"tags": [
{
"key": "string
",
"value": "string
"
}
],
"version": "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.
- category
-
The category of the custom action, such as a build action or a test action.
Type: String
Valid Values:
Source | Build | Deploy | Test | Invoke | Approval | Compute
Required: Yes
- configurationProperties
-
The configuration properties for the custom action.
Note
You can refer to a name in the configuration properties of the custom action within the URL templates by following the format of {Config:name}, as long as the configuration property is both required and not secret. For more information, see Create a Custom Action for a Pipeline.
Type: Array of ActionConfigurationProperty objects
Array Members: Maximum number of 10 items.
Required: No
- inputArtifactDetails
-
The details of the input artifact for the action, such as its commit ID.
Type: ArtifactDetails object
Required: Yes
- outputArtifactDetails
-
The details of the output artifact of the action, such as its commit ID.
Type: ArtifactDetails object
Required: Yes
- provider
-
The provider of the service used in the custom action, such as CodeDeploy.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 35.
Pattern:
[0-9A-Za-z_-]+
Required: Yes
- settings
-
URLs that provide users information about this custom action.
Type: ActionTypeSettings object
Required: No
-
The tags for the custom action.
Type: Array of Tag objects
Required: No
- version
-
The version identifier of the custom action.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 9.
Pattern:
[0-9A-Za-z_-]+
Required: Yes
Response Syntax
{
"actionType": {
"actionConfigurationProperties": [
{
"description": "string",
"key": boolean,
"name": "string",
"queryable": boolean,
"required": boolean,
"secret": boolean,
"type": "string"
}
],
"id": {
"category": "string",
"owner": "string",
"provider": "string",
"version": "string"
},
"inputArtifactDetails": {
"maximumCount": number,
"minimumCount": number
},
"outputArtifactDetails": {
"maximumCount": number,
"minimumCount": number
},
"settings": {
"entityUrlTemplate": "string",
"executionUrlTemplate": "string",
"revisionUrlTemplate": "string",
"thirdPartyConfigurationUrl": "string"
}
},
"tags": [
{
"key": "string",
"value": "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.
- actionType
-
Returns information about the details of an action type.
Type: ActionType object
-
Specifies the tags applied to the custom action.
Type: Array of Tag objects
Errors
For information about the errors that are common to all actions, see Common Errors.
- ConcurrentModificationException
-
Unable to modify the tag due to a simultaneous update request.
HTTP Status Code: 400
- InvalidTagsException
-
The specified resource tags are invalid.
HTTP Status Code: 400
- LimitExceededException
-
The number of pipelines associated with the AWS account has exceeded the limit allowed for the account.
HTTP Status Code: 400
- TooManyTagsException
-
The tags limit for a resource has been exceeded.
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 CreateCustomActionType.
Sample Request
POST / HTTP/1.1
Host: codepipeline.us-east-1.amazonaws.com
Accept-Encoding: identity
Content-Length: 665
X-Amz-Target: CodePipeline_20150709.CreateCustomActionType
X-Amz-Date: 20160707T203658Z
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/20160707/us-east-1/codepipeline/aws4_request, SignedHeaders=content-type;host;user-agent;x-amz-date;x-amz-target, Signature=8d9b5998EXAMPLE
{
"category": "Build",
"settings": {
"entityUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/",
"executionUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/lastSuccessfulBuild/{ExternalExecutionId}/"
},
"configurationProperties": [
{
"description": "The name of the build project must be provided when this action is added to the pipeline.",
"required": true,
"secret": false,
"key": true,
"type": "String",
"queryable": false,
"name": "ProjectName"
}
],
"version": "1",
"provider": "JenkinsProviderName",
"inputArtifactDetails": {
"maximumCount": 1,
"minimumCount": 0
},
"outputArtifactDetails": {
"maximumCount": 1,
"minimumCount": 0
}
}
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: 683
{
"actionType": {
"actionConfigurationProperties": [
{
"description": "The name of the build project must be provided when this action is added to the pipeline.",
"key": true,
"name": "ProjectName",
"queryable": false,
"required": true,
"secret": false
}
],
"id": {
"__type": "ActionTypeId",
"category": "Build",
"owner": "Custom",
"provider": "JenkinsProviderName",
"version": "1"
},
"inputArtifactDetails": {
"maximumCount": 1,
"minimumCount": 0
},
"outputArtifactDetails": {
"maximumCount": 1,
"minimumCount": 0
},
"settings": {
"entityUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/",
"executionUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/lastSuccessfulBuild/{ExternalExecutionId}/"
}
}
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: