Outgoing webhooks in Release Management
Outgoing Webhooks are automated messages sent from Bitrise to a specified URL when a particular event occurs. For Release Management, these webhooks allow you to integrate Bitrise with external services and tools, enabling seamless communication and automation across your development pipeline.
Standard plan only
You can add outgoing Webhooks to a Workspace, but connecting them in a Release Management project is only possible for projects with standard license.
Adding an outgoing webhook to a release
You can add outgoing webhooks to a release in two ways:
-
Add the webhook to an individual release.
-
Add the webhook to a release preset template. All releases using that template will use the configured webhook.
Individual release
Release preset
-
Make sure your external service is ready to receive and process the webhook requests. This typically involves:
-
Creating a publicly accessible URL to receive the HTTP POST requests from Bitrise.
-
Handling the JSON payload: parse the JSON data and extract the relevant information.
-
Defining the actions your service should take based on the received event.
-
-
Create an outgoing webhook on Bitrise.
-
Open Release Management.
-
Select your app.
-
Select a release that hasn't finished.

-
Go to Configuration.
-
Find the Outgoing webhooks card and click Show details.

-
Click Add webhook.
-
Select a webhook from the menu.

-
Select the events that will trigger the webhook.
See the full list of events and their payload information: Webhook events.
-
Make sure your external service is ready to receive and process the webhook requests. This typically involves:
-
Creating a publicly accessible URL to receive the HTTP POST requests from Bitrise.
-
Handling the JSON payload: parse the JSON data and extract the relevant information.
-
Defining the actions your service should take based on the received event.
-
-
Create an outgoing webhook on Bitrise.
-
Open Release Management.
-
Select your app.
-
Go to Release presets.

-
Create a new template or modify an existing one.
-
On the template page, find the Outgoing webhooks card and click Show details.
-
Click Add webhook.
-
Select a webhook from the menu.

-
Select the events that will trigger the webhook.
See the full list of events and their payload information: Webhook events.
Removing an outgoing webhook from a release
You can remove an outgoing webhook from an individual release or from a release preset template.
Individual release
Release preset
-
Open Release Management.
-
Select your app.
-
Select a release that hasn't finished.

-
Go to Configuration.
-
Find the Outgoing webhooks card and click Show details.
-
Click the remove configuration icon.

-
Open Release Management.
-
Select your app.
-
Select Release presets on the left.

-
Find the release preset template you need and click
then select Change. -
Find the Outgoing webhooks card and click Show details.
-
Click the remove configuration icon.
Webhook events
Multiple release automation events can trigger a webhook. All webhooks contain the following fields:
-
app_id -
project_id -
release_candidate_artifact_id -
release_id -
sent_at| Format: nanosecond precision UNIX timestamp -
store_app_id -
triggered_at| Format: nanosecond precision UNIX timestamp -
triggered_by| Format: either a user slug or one of: 'Automation', 'Apple App Store', 'Google Play Store' -
trigger_event -
webhook_config_id -
webhook_connection_id -
webhook_event_unique_id| Format:WEBHOOK_ID@TRIGGER_TIMESTAMP_NANO -
workspace_id
The following webhook events are available. The Fields column contains the additional fields that the triggering event adds to the webhook payload.
|
Webhook name |
Fields |
|---|---|
|
App version added |
|
|
Release description changed |
|
|
Auto-upload enabled |
|
|
Auto-upload disabled |
|
|
Slack connection changed |
|
|
Microsoft Teams connection changed |
|
|
Automation added |
|
|
Automation removed |
|
|
Outgoing webhook added |
|
|
Outgoing webhook updated |
|
|
Outgoing webhook removed |
|
|
Stopped managing release |
|
|
Release candidate source changed |
|
|
Release candidate auto select latest build disabled |
|
|
Release candidate auto select latest build enabled |
|
|
Release candidate build selected |
|
|
TestFlight upload started |
|
|
TestFlight upload failed |
|
|
TestFlight upload completed |
|
|
TestFlight processing failed |
|
|
TestFlight processing completed |
|
|
TestFlight what to test added |
|
|
TestFlight what to test changed |
|
|
TestFlight what to test deleted |
|
|
TestFlight app review submitted |
|
|
TestFlight app review approved |
|
|
TestFlight app review rejected |
|
|
TestFlight distribution started |
|
|
TestFlight distribution start failed |
|
|
TestFlight distribution stopped |
|
|
Google Play upload started |
|
|
Google Play upload completed |
|
|
Google Play upload failed |
|
|
Google Play testing track release completed |
|
|
Google Play testing track release failed |
|
|
Approval tasks completed |
|
|
Approval task added |
|
|
Approval task changed |
|
|
Approval task completed |
|
|
Approval task deleted |
|
|
Approval task reopened |
|
|
App store version created |
|
|
App store version updated |
|
|
Metadata localization added |
|
|
Metadata localization changed |
|
|
Metadata localization removed |
|
|
Release settings changed |
|
|
Phased release enabled |
|
|
Phased release disabled |
|
|
App store review submitted |
|
|
App store review cancelled |
|
|
App store review rejected |
|
|
App store review approved |
|
|
Phased release paused |
|
|
Phased release resumed |
|
|
App store release started |
|
|
App store release completed |
|
|
Google Play release notes localization added |
|
|
Google Play release notes localization changed |
|
|
Google Play release notes localization removed |
|
|
Google Play release started |
|
|
Google Play rollout percentage changed |
|
|
Google Play automated rollout configured |
|
|
Google Play automated rollout paused |
|
|
Google Play automated rollout resumed |
|
|
Google Play automated rollout cancelled |
|
|
Google Play release completed |