The following are some examples of custom webhooks for various services.
GitHub Example
{ "key": "subscriptionOnGithub", "description": "some custom webhook subscription", "enabled": true, "event_filter": { "criteria": { "anyLocal": true }, "domain": "artifact", "event_types": [ "deployed" ] }, "handlers": [ { "handler_type": "custom-webhook", "url": "https://api.github.com//<username>/<reponame>/dispatches", "payload": "{\"event_type\": \"someEventType\"}", "secrets": [ { "name": "token", "value": "XXX" } ], "http_headers": [ { "name": "Authorization", "value": "Bearer {{ .secrets.token }}" } ] } ] }
GitLab Example
{ "key": "subscriptionOnGitlab", "description": "some custom webhook subscription", "enabled": true, "event_filter": { "domain": "artifact", "event_types": [ "deployed" ], "criteria": { "anyLocal": true, "anyRemote": false, "includePatterns": [], "excludePatterns": [], "repoKeys": [] } }, "handlers": [ { "handler_type": "custom-webhook", "url": "http://<gitlaburl>/api/v4/projects/2/ref/main/trigger/pipeline", "secrets": [ { "name": "privatetoken", "value": "XXXXX" }, { "name": "accesstoken", "value": "XXXXXX" }, { "name": "token", "value": "XXXXXXX" } ], "http_headers": [ { "name": "PRIVATE-TOKEN", "value": "{{ .secrets.privatetoken }}" }, { "name": "Content-Type", "value": "application/x-www-form-urlencoded" } ], "payload": "token={{ .secrets.token }}&variables[TEST_VAR_CHECKSUM]={{ .data.sha256 }}&variables[ACCESS_TOKEN]={{ .secrets.accesstoken }}" } ] }
Jenkins Example
{ "key": "subscriptionOnJenkins", "description": "some custom webhook subscription", "enabled": true, "event_filter": { "criteria": { "anyLocal": true }, "domain": "artifact", "event_types": [ "deployed" ] }, "handlers": [ { "handler_type": "custom-webhook", "url": "http://<jenkinsurl>/job/test/buildWithParameters", "secrets": [ { "name": "token", "value": "mytoken" }, { "name": "restapitoken", "value": "XXXXX" } ], "http_headers": [ { "name": "Content-Type", "value": "application/x-www-form-urlencoded" }, { "name": "Authorization", "value": "Basic {{ .secrets.restapitoken }}" } ], "payload": "token={{ .secrets.token }}&sha256={{ .data.sha256 }}" } ] }
Slack Integration Example
{ "key": "customwebhook", "description": "notify slack channel at artifact deploy", "enabled": true, "event_filter": { "domain": "artifact", "event_types": [ "deployed" ], "criteria": { "anyLocal": true, "anyRemote": false, "excludePatterns": [], "includePatterns": [], "repoKeys": [] } }, "handlers": [ { "handler_type": "custom-webhook", "url": "https://hooks.slack.com/services/XXXX", "payload": "{\"text\": \"Hello from custom webhook triggered by event type {{ .type }}\"}", "http_headers": [ { "name": "Content-type", "value": "application/json" } ] } ] }