mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
id: webhook
 | 
						|
title: Webhook
 | 
						|
---
 | 
						|
 | 
						|
> This feature was introduced in _Unleash v3.11.0_.
 | 
						|
 | 
						|
The Webhook Integration introduces a generic way to post messages from Unleash to third party services. Unleash allows you to define a webhook which listens for changes in Unleash and posts them to third party services.
 | 
						|
 | 
						|
The webhook will perform a single retry if the HTTP POST call fails (either a 50x or network error). Duplicate events may happen, and you should never assume events always comes in order.
 | 
						|
 | 
						|
## Configuration {#configuration}
 | 
						|
 | 
						|
#### Events {#events}
 | 
						|
 | 
						|
You can choose to trigger updates for the following events (we might add more event types in the future):
 | 
						|
 | 
						|
- feature-created
 | 
						|
- feature-updated (*)
 | 
						|
- feature-metadata-updated
 | 
						|
- feature-project-change
 | 
						|
- feature-archived
 | 
						|
- feature-revived
 | 
						|
- feature-strategy-update
 | 
						|
- feature-strategy-add
 | 
						|
- feature-strategy-remove
 | 
						|
- feature-stale-on
 | 
						|
- feature-stale-off
 | 
						|
- feature-environment-enabled
 | 
						|
- feature-environment-disabled
 | 
						|
 | 
						|
> *) Deprecated, and will not be used after transition to environments in Unleash v4.3
 | 
						|
 | 
						|
#### Parameters {#parameters}
 | 
						|
 | 
						|
Unleash Webhook integration takes the following parameters.
 | 
						|
 | 
						|
**Webhook URL** This is the only required property. If you are using a Slack Application you must also make sure your application is allowed to post the channel you want to post to.
 | 
						|
 | 
						|
**Content-Type** Used to set the content-type header used when unleash performs an HTTP POST to the defined endpoint.
 | 
						|
 | 
						|
**Body template** Used to override the body template used by Unleash when performing the HTTP POST. You may format you message using a [Mustache template](https://mustache.github.io). You will have the [Unleash event format](/reference/api/legacy/unleash/admin/events) available in the rendering context.
 | 
						|
 | 
						|
Example:
 | 
						|
 | 
						|
```mustache
 | 
						|
{
 | 
						|
  "event": "{{event.type}}",
 | 
						|
  "createdBy": "{{event.createdBy}}",
 | 
						|
  "featureToggle": "{{event.data.name}}",
 | 
						|
  "timestamp": "{{event.data.createdAt}}"
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
If you don't specify anything Unleash will use the [Unleash event format](/reference/api/legacy/unleash/admin/events).
 | 
						|
 | 
						|
#### Custom SSL certificates {#certificates}
 | 
						|
 | 
						|
If your webhook endpoint uses a custom SSL certificate,
 | 
						|
you will need to start Unleash with the `NODE_EXTRA_CA_CERTS` environment variable set.
 | 
						|
It needs to point to your custom certificate file in pem format.
 | 
						|
 | 
						|
For more information, see the [official Node.js documentation on setting extra certificate files](https://nodejs.org/api/cli.html#node_extra_ca_certsfile).
 |