(codepipeline-actions): custom event for codepipeline codecommit actions
See original GitHub issueThis feature request is to allow customization of the CloudWatch Event created by a CodeCommit source action in the aws-codepipeline-actions module.
Use Case
Per the blog post below, one may want to add custom logic to the CloudWatch Event that triggers a pipeline, so that they can selectively determine when to trigger a pipeline rather than triggering it on every commit to the branch being watched. This customization may be done by having the CloudWatch Event invoke a Lambda rather than directly triggering the pipeline. The Lambda can apply logic to determine whether this (or a different) pipeline is triggered.
Today, the aws-codepipeline-actions CodeCommit source action does not allow you to specify / modify the rules of the CloudWatch Event created by the construct.
Inspiration for this request is from the blog below:
I want to use trunk-based development (single master branch) but have the ability to selectively trigger a pipeline based on facts about the commit.
For example:
-
If a README was the the only file changed, do not trigger the normal pipeline.
-
If (e.g. in the event of an emergency), I need to push a hotfix straight to prod while skipping my test and staging environment, I want to invoke a different pipeline that is source -> build -> prod, instead of my normal pipeline of source-> test -> staging -> prod.
Proposed Solution
Proposed idea #1 is to able to specify your own, previously-created CloudWatch Event, e.g.:
new codepipeline_actions.CodeCommitSourceAction({
actionName: 'CodeCommit_Source',
role: props.role,
eventRole: props.eventRole,
repository: props.repository,
branch: props.branch,
output: props.output,
event: <YOUR CUSTOM EVENT> // FEATURE REQUEST
}),
Idea 2 is to be able to customize the target parameters of the event created by the source action:
new codepipeline_actions.CodeCommitSourceAction({
actionName: 'CodeCommit_Source',
role: props.role,
eventRole: props.eventRole,
repository: props.repository,
branch: props.branch,
output: props.output,
eventTarget: <custom Lambda resource>. // FEATURE REQUEST
}),
Other
- 👋 I may be able to implement this feature request
- ⚠️ This feature might incur a breaking change
This is a 🚀 Feature Request
Issue Analytics
- State:
- Created 3 years ago
- Reactions:10
- Comments:5 (3 by maintainers)
Top GitHub Comments
This is still relevant. Would be great to have if you want to create a scheduled build after a commit.
I just ran into this issue when trying to use a single source for hosting both CDK source and application source, while using CDK Pipelines for the continuous CDK deployment and AWS CodePipeline for Application deployment.
Everytime I update the CDK code it will fire both a build for CDK and app and vice versa. Unless this is a anti-pattern. I would imagine more people to have a issues as they adopt CDK Pipelines.