GitLab
Connect GitLab so merge requests, pipelines, and commits appear on Pulse issues.
Link Pulse issues to GitLab merge requests and automate status from MR activity.
Overview
Connect a GitLab.com or self-hosted instance, grant projects, and link merge requests to issues. GitHub is a separate connection — see GitHub.
Configure the GitLab integration
Only workspace owners and admins can manage integrations. Open Settings → Integrations (/settings/integrations), then GitLab (/settings/integrations/gitlab).
To connect:
- Open GitLab in Integrations.
- Choose Connect GitLab.
- Enter a Name, an API access token, and optionally a Custom GitLab URL for a self-hosted instance (
https://gitlab.your-company.com, with no path). - Choose Connect. Pulse validates the token against that GitLab before saving it.
Use a token with the api scope. read_api is enough for reading, but not for comments, approvals, or linkbacks.
Pulse can reach GitLab Direct from Pulse, or Through Pulse Bridge on a computer when the instance is only reachable from a laptop. Connected instances can list more than one host. When several exist, pick which connection the detail sections describe.
Disconnect removes Pulse webhooks from your GitLab projects where it still can, then deletes the connection and its repository grants.
Webhooks
GitLab delivers merge request, push, and pipeline events through a hook on each project. Without one, links and automation never hear about changes.
If the connection’s token is a Maintainer on the project, Pulse can Add hook or Update hook. Otherwise add the hook by hand: copy the Receiver URL, paste a Secret token, keep SSL verification enabled, and turn on the required triggers — merge request, push, pipeline, job, deployment, comments, and emoji events. Leave every other trigger off.
Repository access
GitLab grants are written by project path from the connection. Refresh from provider lists what the token can see. A grant Pulse can no longer reach is reported rather than silently removed.
Other connection scopes
Workspace credentials stay separate from personal and team ones.
- Personal GitLab connections — for Code Intelligence and personal agent work, under
Settings → Code & reviews - Personal GitLab accounts — so Pulse approves, comments, and merges as you, under
Settings → Connected accounts - Team GitLab connections — shared with a team; choose the team in Pulse Agent settings
Link merge requests
Linked merge requests appear on the issue under Diffs. Add pull request… also accepts a GitLab merge request URL from a granted project. Then pick a link type: Closes this issue, Contributes to this issue, Related, or References this issue.
Overflow Unlink merge request removes the association. Pipeline status shows on the card when GitLab reports it.
Create a new branch
Copy a branch name from an issue with Copy git branch name (Cmd/Ctrl Shift .). Personal branch format lives under Code & reviews. A branch that carries the issue identifier can link itself.
Add the issue ID in the MR title
Include the Pulse issue identifier (for example PUL-42) in the merge request title. Automatic sources Title, Description, and Branch name are on by default.
Use a magic word
Add a magic word plus identifier in the merge request description — for example Fixes PUL-42 or Part of PUL-42. Closing phrases mark Closes this issue; contributing phrases (part of, ref, contributes to, towards) mark Contributes to this issue. skip or ignore suppresses automatic evidence for that identifier.
Link commits to issues with magic words is off by default, and may be unavailable if this GitLab host cannot report commit linkage in a form Pulse can trust.
To link several issues to one merge request, include several closing or contributing phrases in the description. You can also paste the MR URL on each issue.
Merge request automation
Which Pulse status an MR event moves an issue to is configured per team at Settings → Your teams → <team> → Source control workflow. Automate issue statuses is off by default. Configure the GitLab column. Only closing or contributing links ever automate.
Events include Draft opened, Opened for review, Ready to merge, Entered the merge queue (GitLab merge trains), Merged, Closed without merging, and more.
Pulse Agent Code Intelligence and coding sessions read granted projects. See Pulse Agent.
Ready for merge automation
Ready to merge fires when checks, reviews, and branch requirements are all satisfied for the current commit. The webhook must receive pipeline events, or Pulse never hears that CI passed.
Custom merge queues
If a bot merges elsewhere and closes the merge request with a label, set Externally merged label on the team workflow page. Seeing the label triggers a re-check. Completion still needs proof the change reached the target branch — adding or removing the label on its own does nothing.
Target-branch rules
Target-branch rules override the defaults for merge requests aimed at particular branches. An exact name beats a pattern; among patterns, the one nearest the top wins.
Issue linkbacks
Write linkback comments adds one managed comment to the merge request, linking back to the Pulse issue. Default off.
Public, private, and internal visibilities are independent switches — GitLab internal is not the same as private. Include the issue title is off by default: a repository’s readers are not the issue’s readers. The preview is exactly Linked to Pulse issue PUL-42, unless you include the title.
Auto-assign and update status
Move issue to In Progress on branch copy is a personal switch on Code & reviews.
FAQ
Last updated on