[aws-codepipeline-actions] Enable setting filters on github source action
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 74
Description
I would like to be able to set the webhook filters on the source action in my code pipeline
### Use Case
I want to trigger the pipeline only when certain files are changed (aka the purpose of the filters)
### Proposed Solution
[Codebuild module](https://github.com/aws/aws-cdk/tree/master/packages/%40aws-cdk/aws-codebuild) seems to support setting webhook filters, but I cannot find a way to do this on the [GitHubSourceAction](https://github.com/aws/aws-cdk/blob/master/packages/%40aws-cdk/aws-codepipeline-actions/lib/github/source-action.ts) that I use as the source for my code pipelines. Looking at the code for codepipeline-actions module, it seems like the webhook is set [here](https://github.com/aws/aws-cdk/blob/61865aaef682be6727d7768213260c7a95d799f8/packages/%40aws-cdk/aws-codepipeline-actions/lib/github/source-action.ts#L133). Maybe you could re-use some of the [Codebuild classes](https://github.com/aws/aws-cdk/blob/61865aaef682be6727d7768213260c7a95d799f8/packages/%40aws-cdk/aws-codebuild/lib/source.ts#L192) to implement this for Codepipeline source actions too?
### Other
* [ ] :wave: I may be able to implement this feature request <- but it
* [ ] :warning: This feature might incur a breaking change
---
This is a :rocket: Feature Request
Contributor guide
Research direction
Start with packages/@aws-cdk/aws-codepipeline-actions/lib/github/source-action.ts, especially where the webhook is configured, and compare it with webhook filter support in packages/@aws-cdk/aws-codebuild/lib/source.ts. Determine how GitHubSourceAction should expose file-change filters, then verify that a pipeline source action can trigger only for the configured changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud, devops
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100