Modular Webhooks Integration
Today we’re launching Modular webhooks — a new way to connect your Beanstalk repository to external services. We launched our existing Webhooks integration in early 2009 and have learned a lot since then. The new integration offers more flexibility and simplifies the setup process for both webhook developers and repository owners. Let me guide you through the most important changes.
All the information you need
It’s a common practice to have granular API endpoints return only the data you requested. It’s different for webhooks. When integrating with a service via a webhook, you want as much information as possible. Ideally you should not need to query the API for additional information when receiving a webhook. This was one of our goals with the Modular webhooks. Whenever you’re receiving information about a recent commit or a failed deployment, we'll make sure that you'll have all related data in place. Check out the payload examples to see for yourself.
It is now possible to select when to trigger a webhook. Currently we support these events:
- On each push (Git).
- On each commit (SVN).
- Every time a deployment is finished.
- Any comment is posted on a changeset, a file or a code review.
- When a branch is created.
- When a branch is deleted.
- When a tag is created.
- When a tag is deleted.
- When a Code Review is requested for a branch.
- When a Code Review is approved.
- When a Code Review is canceled.
- When a canceled or approved Code Review is reopened.
- When a new Issue is added to a Code Review.
- When a Code Review Issue is marked as resolved.
We’re going to extend this list as we go, eventually allowing you to hook into any event happening inside your Beanstalk repository.
Multiple webhooks support
Often you want multiple services to be notified via webhook. Modular webhooks will now support that. You can add as many webhooks as you need, name them, and never forget what a certain URL is used for again.
Developing and debugging webhooks can sometimes get difficult, but not with Modular webhooks. We provide you with a history of all HTTP requests sent to your webhook. You will be able to inspect any request or response contents and retry when the problem has been fixed.
What about the old webhooks?
Using our old webhooks? No need to change anything. Modular webhooks are built as a separate integration, the good old webhooks are now called “Classic Webhooks” and have been left fully intact. Feel free to keep using them (or even activate for new repositories) for as long as you wish.
Setting up Modular webhooks in Beanstalk
To get started, go to the “Settings” page of your repository, select “Integration”, click on “Modular Webhooks” and add your first webhook. Or use the Integrations API if you want to add webhooks for all repositories on your account. Whichever way you choose, we hope you’ll like this update. Let us know in comments if you have any questions or ideas.