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 | ComputeRequired: 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: