🦊

GitLab Integration

Link branches, commits, and merge requests to Decuga tasks. The same task-transition and review sub-task automations as GitHub β€” wired up in minutes with just a webhook secret.

Overview

GitLab sends webhook events to Decuga on every push and merge request action. Decuga extracts task codes (e.g. PROJ-42) from branch names, commit messages, and MR titles and links them to the matching task.

GitLab uses a plain Secret Token header (X-Gitlab-Token) rather than an HMAC signature. Choose a long random string as your secret.

Setup

1

Install the GitLab connector in Decuga

In your Decuga project, open Project Settings β†’ Integrations and click Connect GitLab. Enter one field:

  • Webhook Secret Token β€” any random string you choose

After saving, Decuga shows your Webhook URL:

text
https://app.decuga.com/api/webhooks/vcs/gitlab/<your-project-id>
2

Create the webhook on GitLab

Go to Project β†’ Settings β†’ Webhooks and add a new webhook:

  • URL β€” the webhook URL from step 1
  • Secret token β€” the same string from step 1
  • Trigger β€” tick Push events and Merge request events
  • SSL verification β€” leave enabled
3

Test the connection

Click Test β†’ Push eventson the GitLab webhook page. You should see a green βœ…. Then push a branch containing a task code and verify it appears in the task’s Development section in Decuga.

Automations

Identical to the GitHub integration:

  • Push β†’ In Progress: branch name or commit message references a task β†’ task moves from To Do / On Hold to In Progress.
  • MR opened β†’ Review sub-task: sub-task β€œReview MR: …” created under the parent task, assigned to the MR assignee if resolvable.
  • MR closed / merged β†’ Link state updated: the Development panel reflects the final state.
GitLab uses the term Merge Request (MR)instead of Pull Request. Decuga labels these as β€œPR / MR” in the UI.

Troubleshooting

GitLab shows 401 Unauthorized for my webhook.

The X-Gitlab-Token you configured on GitLab does not match the Webhook Secret Token stored in Decuga. Update one of them so they match exactly.

Push events are received but MR events are not.

Make sure you ticked both "Push events" and "Merge request events" when creating the webhook on GitLab.

Task code not detected.

Codes must be uppercase: e.g. PROJ-42. Lowercase (proj-42) or numeric-only identifiers are not matched.