Create an EventBridge rule for a CodeCommit source (AWS CloudFormation template)
To use AWS CloudFormation to create a rule, update your template as shown here.
To update your pipeline AWS CloudFormation template and create EventBridge rule
-
In the template, under
Resources
, use theAWS::IAM::Role
AWS CloudFormation resource to configure the IAM role that allows your event to start your pipeline. This entry creates a role that uses two policies:-
The first policy allows the role to be assumed.
-
The second policy provides permissions to start the pipeline.
Why am I making this change? Adding the
AWS::IAM::Role
resource enables AWS CloudFormation to create permissions for EventBridge. This resource is added to your AWS CloudFormation stack. -
-
In the template, under
Resources
, use theAWS::Events::Rule
AWS CloudFormation resource to add an EventBridge rule. This event pattern creates an event that monitors push changes to your repository. When EventBridge detects a repository state change, the rule invokesStartPipelineExecution
on your target pipeline.Why am I making this change? Adding the
AWS::Events::Rule
resource enables AWS CloudFormation to create the event. This resource is added to your AWS CloudFormation stack. -
Save the updated template to your local computer, and then open the AWS CloudFormation console.
-
Choose your stack, and then choose Create Change Set for Current Stack.
-
Upload the template, and then view the changes listed in AWS CloudFormation. These are the changes to be made to the stack. You should see your new resources in the list.
-
Choose Execute.
To edit your pipeline's PollForSourceChanges parameter
Important
In many cases, the PollForSourceChanges
parameter defaults to true when
you create a pipeline. When you add event-based change detection, you must add the
parameter to your output and set it to false to disable polling. Otherwise, your
pipeline starts twice for a single source change. For details, see Valid settings for the
PollForSourceChanges parameter.
-
In the template, change
PollForSourceChanges
tofalse
. If you did not includePollForSourceChanges
in your pipeline definition, add it and set it tofalse
.Why am I making this change? Changing this parameter to
false
turns off periodic checks so you can use event-based change detection only.