Skip to main content

Getting started with AWS CodeCommit webhooks

How to set up your CI job or Pipeline with webhooks, to deploy changes made to a branch

Nat Werth avatar
Written by Nat Werth
Updated today

This document is a guide to setting up a webhook for CI jobs or Pipelines in Gearset, that deploys changes from an AWS CodeCommit repository when the source branch changes.

Prerequisites before setting up CodeCommit webhooks:

  • You have added a repository connection for AWS CodeCommit (see our guide on Integrating with AWS CodeCommit).

  • The AWS CodeCommit repository you are connecting to is not blank and that there is at least one branch (e.g. Main) to work with; otherwise, you will get an error when you select the Source repository field on the CI Add new deployment job page.

Each CI job/Pipeline environment requires the following setup on AWS CodeCommit:

  • 1 Simple Notification Service (SNS) Topic

  • 1 Subscription

  • 1 Trigger

  • 1 EventBridge rule

Creating a CI webhook for CodeCommit

  1. To get started, from the Continuous integration page in Gearset, click Add new deployment job or Add new team-shared deployment job.

  2. Select AWS CodeCommit as the Source type.

  3. Under Deployment behavior, select when the source branch is updated.

Configure the other options, click Save, and you will see another dialog box with the webhook information in it. Next, save the Payload URL and Shared secret for use later on to create and configure your CodeCommit webhooks.

Creating a Pipelines webhook for CodeCommit

When configuring a Gearset Pipeline using AWS CodeCommit, you will also be asked to add a specific SNS Topic, Subscription & EventBridge Rule to allow all the Pipeline functionality to work as expected.

Note: A Pipeline webhook is required in addition to the CI job configuration, SNS Topics, and supporting elements written above.

  1. Head to the Pipeline page, and click on the Settings cog, followed by Add webhook...

  2. This will bring up an informational modal explaining how to add in the SNS Topic, Subscription and EventBridge rule for your pipeline.

  3. Note down your Payload URL and Shared secret, and proceed with the following steps to add your webhook.

Adding a Webhook

  1. In the AWS Management Console, go to the Amazon SNS section and search Simple Notification Service.

  2. Create a new topic, then create a new subscription for that topic.

  3. Choose a name for your topic, and set its type as standard.

  4. Set Protocol to HTTPS.

  5. Set the Endpoint to the Payload URL you have saved from Gearset’s webhook setup dialog earlier.

  6. The new subscription’s ID will be Pending confirmation.

  7. Click Request confirmations and hit refresh in the table. The subscription should then be assigned a proper subscription ID.

  8. In the AWS Management Console, go to AWS CodeCommit.

  9. For the repository you’re deploying, go to Settings, and then to Triggers.

  10. Click Create new trigger.

  11. Under Events, select Push to existing branch.

  12. Do not select any branches under Brach names so the webhook works for all branches in your pipeline.

  13. Select the SNS topic you created earlier.

  14. Under Custom data, paste in the Shared secret from Gearset’s webhook setup dialog earlier.

You can click Test trigger to confirm it can connect successfully. The next time you push to this branch, it will trigger the CI job in Gearset.

Setting up an EventBridge rule

To set up an EventBridge rule, please refer to our guide on EventBridge configuration for the users using AWS CodeCommit.

Did this answer your question?