Webhooks Configuration
Appcircle will notify external services via webhooks when a certain event occurs. When the events you specified happen, we'll send a POST request in JSON format to the URLs you provide.
Creating Webhook
Multiple webhooks can be created for different events and build profiles. To start, go to My Organization Notifications screen and press the Manage button next to Webhook under the Notification Providers section.
- Click Add Webhook button to create your webhook
- Fill in the details of your webhook
Available Notification Events by Module
The following scopes are supported for Webhooks.
Profile: Most scopes support getting events for the selected profile (Build, Testing Distribution, Publish to Stores, Enterprise app Store). You can choose the profile from the list to get notified for that specific module profile.
Build Module
The Build module can send notifications for key build lifecycle events, such as:
Build Events
- Build Started
- Build Success
- Build Complete with Warnings
- Build Failed
- Build Canceled
- Build Timeout
- Fetch Started
- Test Report Created
Signing Identity
Notifications related to certificate, keystore, and provisioning profile operations, such as:
- iOS Certificate Added
- iOS Certificate Deleted
- iOS Certificate Expiration Reminder
- iOS Provisioning Profile Added
- iOS Provisioning Profile Deleted
- iOS Provisioning Profile Expiration Reminder
- Android Keystore Created
- Android Keystore Uploaded
- Android Keystore Deleted
- Android Keystore Expiration Reminder
Testing Distribution
Notifications for Testing Distribution related events such as:
- New Version Added for Distribution
- New Version Uploaded for Distribution
- App Shared for Testing Distribution
Publish to Stores
Notifications for Publish to Stores related events such as:
- Store Status Changed
- New Version Deployed to Publish
- New Version uploaded to Publish
- A Version is Rejected on Publish
- Publish Step is Starting
- Publish Step is Restarting
- Publish Step Started
- Publish Step Succeeded
- Publish Flow Updated
- Publish Step Failed
- Publish Step Canceled
- Publish Step Timed Out
- Publish Flow Failed
- Publish Flow Canceled
- Publish Flow Timed Out
- Publish Flow Succeeded
Enterprise App Store
Notifications for Enterprise App Store related events such as:
- New Version Deployed to the Enterprise Store
- New Version Uploaded to the Enterprise Store
- App Shared on Enterprise Store
Payload URL:
Appcircle will post events to this URL. It is highly recommended to choose the HTTPS URL.
Secret:
To verify that a Webhook post is coming from Appcircle, you may use this secret to verify the message body. HMAC-SHA256 of payload with your secret key should be the same as the hexadecimal signature you get in the ac_signature header
For example, if you used test as your secret and Appcircle sends you a webhook with following body,
{"deliveryId":"ee81f55b-fd14-4f95-9e1f-f5bce3ad29e4","timestamp":"2022-10-26T14:55:08.4622757+00:00","action":"Build|BuildStart","message":"Build started for the develop branch for the profile pr_mr_tag_test https://my.appcircle.io/build/detail/7f17fdb4-46e7-40c3-a01d-1ef18de06890","title":"Build Started","item":{"id":"9e3c7dcd-d292-4144-9844-ca07df6a8924","agentId":"4026b6f2-d298-4b54-aa31-64726ad076fc","organizationId":"6fbd094c-18cb-4bcd-bc6f-cf2aee752982","userId":"6320a79e-d1f0-45d0-a38e-920dc4c30644","profileId":"7f17fdb4-46e7-40c3-a01d-1ef18de06890","branchId":"3779c7d2-c826-4596-95f2-52486bf75471","buildId":"00000000-0000-0000-0000-000000000000","commitId":"ba50d2d6-bfcc-49a1-8fa6-6e00711b4d5b","taskId":"9e3c7dcd-d292-4144-9844-ca07df6a8924","purpose":1,"triggerReason":0,"cancelling":false,"queueItemStatus":1,"xcodeVersion":""},"links":{"detail":"https://my.appcircle.io/build/detail/7f17fdb4-46e7-40c3-a01d-1ef18de06890","viewlogs":"https://my.appcircle.io/build/detail/7f17fdb4-46e7-40c3-a01d-1ef18de06890?modal=/build/modal/Logs&profileId=7f17fdb4-46e7-40c3-a01d-1ef18de06890&commitId=ba50d2d6-bfcc-49a1-8fa6-6e00711b4d5b&buildId=9e3c7dcd-d292-4144-9844-ca07df6a8924&scope=build&method=get"}}
Calculating HMAC-256 of this payload with test should give you
8470172a1c60447abd7dce97227448da2b369b17d54d128306625979eca6476b This value must be the same as the value of ac_signature header of the request.
You may also check the timestamp of the payload to prevent replay attacks. You may give 5-10 minutes of a threshold for the timestamp for late webhook deliveries.
Request History
You can check all the webhooks Appcircle sends to your endpoint by clicking the... button and then clicking the Request History section.
You can see all the requests and their results by clicking on them.
After completing the specified action in Appcircle, you have the option to share release notes via Webhooks. To enable this feature, ensure you include the Publish Release Notes step in your workflow.
Additionally, note that you can access download links for the release notes for a duration of 90 days.
After completing the specified action in Appcircle, you have the option to share the test results via Webhooks. To enable this feature, ensure you include the Test Reports step in your workflow.
Editing Webhook
You can edit your webhook by clicking the... button and then clicking the Edit section.
Deleting Webhook
You can edit your webhook by clicking the... button and then clicking the Delete section.
