GitLab

Add one webhook to a GitLab group or project and Naumu keeps your memory up to date from merge requests, commits, issues, pipelines, releases and deploys - without reading your code. Works with GitLab.com and self-managed GitLab.

Updated 4 min read

Connect GitLab to a Naumu space and your memory keeps up with what your team ships: a merge request that merges moves its task to done, a failed pipeline on the main branch is recorded, and a new issue becomes a task. It works the same way as the GitHub integration, on GitLab.com and on self-managed GitLab.

Connect GitLab

  1. Open the space you want GitLab to feed.
  2. Go to Settings → Integrations and select Connect GitLab on the GitLab card. Naumu shows a webhook URL and a secret token.
  3. In GitLab, open your group (or a project) and go to Settings → Webhooks → Add new webhook.
  4. Paste the URL and the secret token. Under Trigger, tick push, tag push, comments, issues, merge request, pipeline, deployment, releases and wiki page events.
  5. Select Add webhook. The GitLab card shows Receiving events as soon as GitLab sends the first one.

A few things to know:

  • You must be an owner or admin of the space, and in GitLab an Owner of the group or a Maintainer of the project.
  • A group webhook covers every project in the group. Group webhooks need GitLab Premium or Ultimate. On the Free tier, add the same URL and token to each project.
  • The secret token is shown once. If you lose it, select New secret token on the connection and paste the new one into the webhook in GitLab. The old token stops working at once.
  • A space can take several connections, for example two groups. Use Add another GitLab group or project.
  • Only new activity comes in. Naumu starts from the moment the webhook is added. To bring in history, ask your coding agent.

What Naumu does with GitLab activity

Each piece of work gets its own thread in the #gitlab topic: one per merge request and issue, one per branch that has no merge request yet, and one per project per day for pushes to the main branch, tags, releases, deploys and pipelines.

When the activity on a thread goes quiet (about ten minutes, or a minute for a merge, a close or a failure), Naumu reads the new events and updates the space. It finds the task, feature or decision the work belongs to (including work your coding agents logged), moves statuses, records merges, releases and incidents, and creates a task only when the work is new and not a routine chore. It then replies in the thread with a line naming what it changed.

EventWhat Naumu does
Branch created, merge request openedMoves the matching item to in progress
Ready for review, review requested, approvedNotes the review
MergedMarks the item done, deploy not yet confirmed
Closed without mergingLeaves the status and asks the owner
Issue openedCreates a task or bug if nothing covers it
Release published, deploy succeededRecords the version as shipped
Deploy or pipeline failed on the main branchRecords an incident

Routine noise (passing pipelines, job events, label changes, system notes, merge requests from bots like Renovate) never reaches a thread.

Quiet by design

The #gitlab topic is set to notify on people only. Its threads never ping anyone or show up in Focus until a person replies in one or someone is tagged. When Naumu needs an answer (for example, a merge request closed without merging), it tags the owner.

Every morning Naumu writes a GitLab digest thread: what shipped, what's in review, what's stuck and any incidents, and it fixes statuses the per-thread updates missed. Turn it off per connection with the Daily digest switch.

Your code stays yours

Naumu has no access to your GitLab: no app, no access token, no API calls. GitLab sends the webhook events you ticked, and Naumu checks each one against the secret token. What arrives is titles, descriptions, comments, commit messages, author names, file names and links. Code shown next to review comments is never saved.

Merge requests opened from forks of public projects are marked as coming from an outside contributor, and Naumu treats all GitLab text as information, never as instructions.

Disconnect

On the GitLab card, select Disconnect next to the connection. Threads already in #gitlab stay. Delete the webhook in GitLab too, or GitLab will show it failing.

Anything missing?
Tell us what would make these docs better.