class CodeCommitSourceAction
| Language | Type name |
|---|---|
.NET | Amazon.CDK.AWS.CodePipeline.Actions.CodeCommitSourceAction |
Java | software.amazon.awscdk.services.codepipeline.actions.CodeCommitSourceAction |
Python | aws_cdk.aws_codepipeline_actions.CodeCommitSourceAction |
TypeScript (source) | @aws-cdk/aws-codepipeline-actions » CodeCommitSourceAction |
Implements
IAction
Extends
Action
CodePipeline Source that is provided by an AWS CodeCommit repository.
If the CodeCommit repository is in a different account, you must use
CodeCommitTrigger.EVENTS to trigger the pipeline.
(That is because the Pipeline structure normally only has a RepositoryName
field, and that is not enough for the pipeline to locate the repository's
source account. However, if the pipeline is triggered via an EventBridge
event, the event itself has the full repository ARN in there, allowing the
pipeline to locate the repository).
Example
// Source stage: read from repository
const repo = new codecommit.Repository(stack, 'TemplateRepo', {
repositoryName: 'template-repo',
});
const sourceOutput = new codepipeline.Artifact('SourceArtifact');
const source = new cpactions.CodeCommitSourceAction({
actionName: 'Source',
repository: repo,
output: sourceOutput,
trigger: cpactions.CodeCommitTrigger.POLL,
});
const sourceStage = {
stageName: 'Source',
actions: [source],
};
// Deployment stage: create and deploy changeset with manual approval
const stackName = 'OurStack';
const changeSetName = 'StagedChangeSet';
const prodStage = {
stageName: 'Deploy',
actions: [
new cpactions.CloudFormationCreateReplaceChangeSetAction({
actionName: 'PrepareChanges',
stackName,
changeSetName,
adminPermissions: true,
templatePath: sourceOutput.atPath('template.yaml'),
runOrder: 1,
}),
new cpactions.ManualApprovalAction({
actionName: 'ApproveChanges',
runOrder: 2,
}),
new cpactions.CloudFormationExecuteChangeSetAction({
actionName: 'ExecuteChanges',
stackName,
changeSetName,
runOrder: 3,
}),
],
};
new codepipeline.Pipeline(stack, 'Pipeline', {
stages: [
sourceStage,
prodStage,
],
});
Initializer
new CodeCommitSourceAction(props: CodeCommitSourceActionProps)
Parameters
Properties
| Name | Type | Description |
|---|---|---|
| action | Action | The simple properties of the Action, like its Owner, name, etc. |
| variables | Code | The variables emitted by this action. |
actionProperties
Type:
Action
The simple properties of the Action, like its Owner, name, etc.
Note that this accessor will be called before the {@link bind} callback.
variables
Type:
Code
The variables emitted by this action.
Methods
| Name | Description |
|---|---|
| bind(scope, stage, options) | The callback invoked when this Action is added to a Pipeline. |
| on | Creates an Event that will be triggered whenever the state of this Action changes. |
| protected bound(_scope, stage, options) | This is a renamed version of the {@link IAction.bind} method. |
bind(scope, stage, options)
public bind(scope: Construct, stage: IStage, options: ActionBindOptions): ActionConfig
Parameters
- scope
Construct - stage
IStage - options
ActionBind Options
Returns
The callback invoked when this Action is added to a Pipeline.
onStateChange(name, target?, options?)
public onStateChange(name: string, target?: IRuleTarget, options?: RuleProps): Rule
Parameters
- name
string - target
IRuleTarget - options
RuleProps
Returns
Creates an Event that will be triggered whenever the state of this Action changes.
protected bound(_scope, stage, options)
protected bound(_scope: Construct, stage: IStage, options: ActionBindOptions): ActionConfig
Parameters
- _scope
Construct - stage
IStage - options
ActionBind Options
Returns
This is a renamed version of the {@link IAction.bind} method.

.NET
Java
Python
TypeScript (