Integrations overview
Webhook integrations turn deliveries from GitHub, GitLab or any system into tasks in one project, with deduplication, replies and callbacks.
An integration is a webhook address of your organization. Deliveries to it become tasks in one project. Set them
up in Settings → Integrations (administrators; permission settings.manage) or through
/orgs/:orgId/integrations in the API.
Creating an integration gives you a webhook URL (<PUBLIC_URL>/api/v1/hooks/<id>) and a secret. The secret is
shown once; Rotate secret replaces it. Tasks are created on behalf of the member who created the integration; if
that person leaves the organization, deliveries are refused until someone recreates it.
| Source | Page |
|---|---|
| GitHub issues, comments and pull requests | GitHub |
| GitLab issues, comments and merge requests | GitLab |
| Anything that can POST signed JSON | Signed webhooks |
Behaviour
- One external item is one task. Redeliveries return the existing task (
{"status":"duplicate"}). - Answers:
201 {"status":"created","taskId"},200 {"status":"duplicate"|"ignored"|"pong"},401for a bad signature. A disabled integration acknowledges deliveries and ignores them. - The task shows where it came from, with a link; the integration list shows the last delivery and its result. Creating a task is recorded in the audit log.
Other built-in integrations — single sign-on, email, error tracking, metrics, object storage — are configured on the server; see Configuration.
Verification status
Integrations are tested against fakes of the GitHub and GitLab APIs, not yet the real services.