How-to
ClickUp GitLab Integration: Merge Requests and Branches
How to connect GitLab to ClickUp, link merge requests with a task ID, and what self-hosted servers need before the connection works.
By AIStackMatch Editorial · Updated · 7 min read
Some links on AIStackMatch are affiliate links. We may earn a commission if you purchase or sign up through them, at no additional cost to you. Read our affiliate disclosure.
Short answer
The ClickUp GitLab integration is on every plan. Owners and admins link GitLab projects to Spaces, a task ID in the branch, commit, or merge request attaches the activity, and a status in square brackets with no space changes the task status from GitLab.
The ClickUp GitLab integration attaches a merge request, a branch, and a commit to the task that asked for the change. Product and engineering can read that progress on the task. The repository stays in GitLab. Help is explicit that attaching a project does not give ClickUp users access to the codebase.
The integration is on every plan. Sprint planning around the task is in ClickUp for software teams. The GitHub version of this link is the ClickUp GitHub integration. Bitbucket has the same shape of connection in the ClickUp Bitbucket integration. The index of ClickUp pages is the ClickUp hub.
What does the ClickUp GitLab integration connect?
ClickUp talks about GitLab projects, not a generic "repo" label, and the review object is a merge request. Tasks in a Space that is linked to a project can pick up commits, branches, and merge requests.
Two connection types do different jobs. Commands that create a GitLab object run only on a personal connection. Help says that data is not tied to the Workspace connection. When someone with a personal connection runs a command, they see projects they are already allowed to see in GitLab.
| Connection | Who creates it | What it is for |
|---|---|---|
| Personal | Members and above | Link previews, the GitLab panel on a task, and commands: open GitLab, create a branch, create a merge request, create an issue. Your GitLab data is not shared with other people through ClickUp |
| Workspace | Owners and admins. More than one Workspace connection is allowed | Sync GitLab activity onto tasks, change a task status from GitLab, plus the same previews and task panel |
Guests and limited members cannot use the integration. If you joined as a guest, Help says to ask an owner or admin for a member role before the GitLab icon will work for you.
How do you connect a GitLab project to a Space?
Help lists three required steps, plus an optional branch-name format.
- Connect GitLab from the App Center. Open GitLab, choose the Personal or Workspace tab, then authorize with a GitLab.com account or a self-hosted URL. Click Next, authorize, and Done.
- Attach projects. Settings, Connect Projects to Spaces, Add project. Repeat for each project. Only the connection owner can add projects. If the list is wrong, you are in the wrong GitLab account. An owner or admin has to select each project.
- Link each project to one or more Spaces. Settings, click the project, Add Space. A Space can hold several projects. You can add or remove projects later.
Help adds a permissions note that is easy to miss: set individual permissions on each GitLab project instead of relying on group permissions, or the project may not appear in the App Center.
Tasks outside a linked Space will not pick up that project's activity. Put the engineering List in the Space you actually connected. The hierarchy for that choice is Spaces, Folders, and Lists.
Branches created from ClickUp use a format you edit under Settings, Auto-generated branch name. The default is :taskId:_:taskName:_:username:. Help's example is CU-ae27de_Auto-generated-naming_John-smith. The value table says spaces in the user name and the task name are replaced with an underscore. The task ID value includes the required prefix. Save after you change the pattern.
How do you link a merge request or change a status?
ClickUp attaches new GitLab activity when a valid task ID appears in the merge request title, the merge request description, the branch name, or the commit message.
| Form | Example |
|---|---|
#{task_id} | #1abc2de |
CU-{task_id} | CU-1abc2de |
{custom_task_id} | eng-123 |
#{custom_task_id} | #eng-123 |
When the ID is in a merge request, GitLab gets a comment that links back to the ClickUp task. That comment is posted by the GitLab account of the person who set up the project and Space mapping. Pasting a merge request link onto a task by hand does not post that GitLab comment.
Ordinary task IDs exist on every plan. Custom task IDs, the prefixed kind such as eng-123, start on Business. They are explained in custom task IDs. If activity never shows up, the ID string is the first thing to check. Help also accepts prefix-1 in the missing-activity examples.
To set the ClickUp status from GitLab, add the status in square brackets with no space after the ID. This works when you link a commit, push a commit, or create a merge request. The ID can sit in the merge request title, the description, the branch name, or the commit message.
| Form | Example |
|---|---|
#{task_id}[status] | #ud5b[ready] |
CU-{task_id}[status] | CU-1abc2de[ready] |
{custom_task_id}[status] | eng-123[ready] |
#{custom_task_id}[status] | #eng-123[ready] |
Help's GitLab article documents that bracket syntax. It does not describe a separate GitLab Automations catalog. Use the bracket form when a commit or a merge request should move the task.
Hand linking, when the ID was missing: open the task, click the GitLab icon, Add GitLab link, paste, Add. The task has to live in a Space linked to the project. The panel also offers branch names and commit messages you can copy, and the task ID.
What can you create, and what shows on the task?
From a task in a linked Space, open the GitLab icon, choose Add GitLab link, then New GitLab Branch, New GitLab Merge Request, or New GitLab Issue. Name it, pick the project, add a source branch and a destination branch when the form asks, and click Create. You need the personal connection for those commands.
The GitLab icon lists linked issues, branches, merge requests, and commits. The ellipsis copies the link or removes the item. Activity also lands in the task feed. Similar items collapse. More updates reveals them. When a branch is merged, its commits show as one activity item, and you can open the list or jump to a single commit in GitLab. Filter the feed by Git items if the rest of the history is in the way.
| Linked item | Details Help says you can see |
|---|---|
| Issue | Author, project, issue status, URL |
| Branch | Author, who created the link, project, URL |
| Merge request | Author, reviewers, project, merge request status, URL |
| Commit | Author, line changes, project, URL |
Add a Pull Requests column on List view or Table view when you want merge requests without opening each task. Help uses that column name for GitLab merge requests. GitLab activity on the task uses the person's ClickUp username, or their GitLab username if they have no ClickUp account.
Pasted GitLab links preview inside the text. A link in the middle of a sentence stays inline. A link on its own line can be inline, a live preview, or a plain URL. Previews work in task descriptions, comments, Docs, and Chat.
The icon itself appears after the first GitLab link is pasted into a description or comment, on tasks that live in a Space connected to a project.
What if the GitLab server is self-hosted?
A GitLab.com account is the simple path. A server you host needs a public hostname. Help says the connection can fail in two network cases: the hostname is not resolvable from the public internet, for example because it exists only inside the company network, or the hostname resolves publicly but points at a private IP address.
If the server is public and the firewall still allows inbound traffic only from specific IPs, turn on Static IP during the ClickUp connection setup and allowlist 54.70.112.216.
Disconnecting does not remove anyone's access inside GitLab. To drop one project, open GitLab in the App Center, Settings, the menu beside the project, Delete from ClickUp. To drop the Workspace connection, owners and admins use the Workspace tab, the menu next to Connected, then Disconnect.
Which plan do you need?
| Capability | Plan |
|---|---|
| GitLab integration, personal and Workspace connections, task linking, status brackets | Every plan |
| Custom task IDs | Business and above |
Our prices, checked October 2026: Unlimited is $7 per user per month billed annually ($10 monthly). Business is $12 per user per month billed annually ($19 monthly). A team that pastes ordinary task IDs into branch names can stay on Free Forever or Unlimited. A team that wants prefixed IDs such as eng-123 should price Business. The numbers are in ClickUp pricing.
Jira remains the closer fit when the engineering org already runs on Jira and GitLab together and the rest of the company does not need the same tool. ClickUp vs Jira is that comparison. ClickUp is the better single Workspace when product, design, and engineering share the task the merge request closes. Other App Center connections are in ClickUp integrations.
ClickUp
All-in-one work management for tasks, docs, goals and team collaboration, with a generous free plan.
Affiliate link. We may earn a commission at no extra cost to you. Read our affiliate disclosure
Frequently asked questions
Does ClickUp integrate with GitLab?
Yes. The integration is on every plan. Tasks in a Space linked to a GitLab project can connect to commits, branches, and merge requests. Attaching the project does not give ClickUp users access to the code.
How do you link a GitLab merge request to a ClickUp task?
Put a task ID in the merge request title, the description, the branch name, or a commit message. Forms include #1abc2de, CU-1abc2de, and a custom task ID such as eng-123.
Can you use a self-hosted GitLab server?
Yes. During connect, choose Self-hosted version and enter the GitLab URL. The hostname has to be reachable from the public internet. If a firewall allows only specific IPs, Help says to enable Static IP and allowlist 54.70.112.216.
Who can add a GitLab project in ClickUp?
Only Workspace owners and admins can add projects and create Workspace connections. Members can create a personal connection. Guests and limited members cannot use the integration. Only the connection owner can add projects.
Do custom task IDs work with GitLab?
Yes, once they exist. Ordinary task IDs are on every plan. Custom task IDs, such as a team prefix, start on the Business plan.