88 lines
2.6 KiB
Markdown
88 lines
2.6 KiB
Markdown
Use the Webhook plugin to notify services via Webhook when a build completes.
|
|
You will need to supply Drone with outgoing Webhook URLs.
|
|
|
|
You can override the default configuration with the following parameters:
|
|
|
|
* `urls` - JSON payloads are sent to each URL
|
|
* `method` - HTTP request method. Defaults to `POST`
|
|
* `headers` - HTTP request header map
|
|
* `username` - The username as a string for HTTP basic auth
|
|
* `password` - The password as a string for HTTP basic auth
|
|
* `skip_verify` - Skip verification of TLS certificates, defaults to `false`
|
|
|
|
## Example
|
|
|
|
The following is a sample configuration in your .drone.yml file:
|
|
|
|
```yaml
|
|
notify:
|
|
webhook:
|
|
urls:
|
|
- https://your.webhook/...
|
|
- https://your.other.webhook/...
|
|
headers:
|
|
- "Authorization=pa55word"
|
|
```
|
|
|
|
### Custom Body
|
|
|
|
In some cases you may want to submit a custom payload in the body of your hook.
|
|
For this usage the following additional parameters should be used:
|
|
|
|
* `template` - Handlebars template to create a custom payload body. See [docs](http://handlebarsjs.com/)
|
|
* `content_type` - HTTP request content type, defaults to `application/json`
|
|
|
|
Example configuration that generate a custom Yaml payload:
|
|
|
|
TBD
|
|
|
|
### Basic Authentication
|
|
|
|
> It is important to note that with HTTP Basic Authentication the provided
|
|
> username and password are not encrypted.
|
|
|
|
In some cases your webhook may need to authenticate with another service. You
|
|
can set the basic `Authentication` header with a username and password. For
|
|
these use cases we expose the following additional parameters:
|
|
|
|
* Sets the request's `Authorization` header to use HTTP Basic Authentication with the provided username and password below
|
|
* `username` - The username as a string
|
|
* `password` - The password as a string
|
|
|
|
Example configuration to include HTTP Basic Authentication:
|
|
|
|
```yaml
|
|
notify:
|
|
webhook:
|
|
method: POST
|
|
username: myusername
|
|
password: mypassword
|
|
urls:
|
|
- https://tower.example.com/...
|
|
```
|
|
|
|
### Debugging Webhooks
|
|
|
|
In some cases complicated webhooks may need debugging to ensure `urls`,
|
|
`template`, `auth` and more a properly configured. For these use cases we expose
|
|
the following `debug` parameter:
|
|
|
|
* `debug` - If `true` it will print out each URL request and response information
|
|
|
|
Example configuration to include the `debug` parameter:
|
|
|
|
```yaml
|
|
notify:
|
|
webhook:
|
|
debug: true
|
|
method: POST
|
|
username: myusername
|
|
password: mypassword
|
|
urls:
|
|
- http://tower.example.com/api/v1/job_templates/44/launch/
|
|
- http://tower.example.com/api/v1/job_templates/45/launch/
|
|
content_type: application/json
|
|
```
|
|
|
|
|