Webhooks
A webhook triggers a HTTP POST request on the specified url, whenever there is a change in an event. Like a new project is created, updated or deleted then a webhook can be triggered to receive the required payload.
Creating a webhook
url
You are required to provide a url in which you want the payloads to be triggered.
Then select the events for which you want the webhook to be triggered.
After you create the webhook, a secret key will be created automatically and will be downloaded in csv format.
Header | Description |
---|---|
X-Plane-Delivery | It is a randomly generated UUID for uniquely identifying the payload |
X-Plane-Event | It describes the event for which the webhook triggered |
X-Plane-Signature | A signature is generated based on the secret and the payload |
Webhook Payload Example for the project update
User can choose the things for which they want the webhook to be triggered.
Currently Plane supports the following events for which webhook can be trigged:
- Project
- Issue
- Cycle
- Module
- Issue Comment
Verifying Signature
How webhook works
Your webhook consumer is a simple HTTP endpoint. It must satisfy the following conditions:
- It’s available in a publicly accessible non-localhost URL.
- It will respond to the Plane Webhook push (HTTP POST request) with a
HTTP 200
(“OK”) response.
If a delivery fails (i.e. server unavailable or responded with a non-200 HTTP status code), the push will be retried a couple of times. Here an exponential backoff delay is used: the attempt will be retried after approximately 10 minutes, then 30 minutes, and so on.
The webhooks are triggered for POST, PATCH, and DELETE requests.
- For DELETE requests, the response only includes the ID of the deleted entity.
- However, for both POST and PATCH requests, the complete payload is sent in the response.