Webhook Overview
GitKraken Boards and GitKraken Timelines has sunset at the end of 2022. The below information and features may be out of date. Please read our full announcement and FAQ to learn more.
What are GitKraken Boards Webhooks?
Webhooks allow you to create applications that subscribe to GitKraken Board events. When an event is triggered, a payload is delivered to the webhook's configured URL.
For example, you could create an application utilizing a webhook that posts to a Slack channel whenever a card has been added or deleted from a board.
Who can add Webhooks?
Webhooks can be added to a specific board by an Owner
or Admin
of the board. Once added, the webhook will trigger each time a subscribed event occurs.
You can add multiple webhooks to a board. If no Owners of the board have Pro, only 1 webhook can be active on that board. If at least one Owner of the board has Pro, the board may have up to 10 active webhooks.
Events
When configuring a webhook, you can select which events will deliever a payload to your server. After creating a webhook, you may edit the webhook to change the event subscriptions.
Every event corresponds to a set of actions that can happen in your board. For example, if a webhook is subscibed to the cards
event the configured server will receive payloads every time a card is created, updated, moved, deleted, and so forth.
Here are the current available webhook events:
Name | Description |
---|---|
boards |
Triggered when a board is archived, unarchived, updated, or deleted. It will also trigger whenever board labels and members are added, removed, or modified. |
column |
Triggered when a column is added, moved, archived, deleted or renamed. |
cards |
Triggered when a card on the board is added, copied, moved, archived, unarchived, or deleted. It will also trigger when any fields for a card are modified. |
comments |
Triggered when a comment is added, deleted, or modified on a card the belongs to the board. |
Payloads
Each event type has a specific payload format with the relevant event information. In addition to the fields documented for each event, webhook payloads includes a sequence number (sequence
).
This number can be used to determine the order payloads were delivered and can also be used by your server or application to verify whether all payloads are delivered.
For example, if your server received a payload with sequence 7 but was expecting sequence 6, you will know that a payload failed to send or be delivered.
Delivery Headers
Payloads delivered to your webhook's configured URL endpoint will contain some special headers:
Header | Description |
---|---|
x-gk-event |
Name of the event type that triggered the delivery. |
x-gk-signature |
The signature generated using the payload and the webhook secret. For more information, checkout our example. |
Sample Delivery
Header:
{
"content-type": "application/json",
"user-agent": "gk-webhooks",
"x-gk-event": "columns",
"x-gk-signature": "sha1=e0340aad257f586732bfd2379c381bc746c87e48"
}
Body:
{
"action": "added",
"board": {
"id": "5bfc13d225ff0b000e6cb830",
"name": "MEGALOVANIA"
},
"sender": {
"name": "Keif",
"id": "daec859f-dcd7-40c4-b2d3-6e74ab62426c",
"username": "keifwebhook"
},
"column": {
"id": "5bfc526b25ff0b000e6cb8ba",
"name": "In Progress",
"created_date": "2018-11-26T20:07:07.388Z",
"created_by": {
"id": "daec859f-dcd7-40c4-b2d3-6e74ab62426c"
}
},
"sequence": 4
}