GitLab
Turn incidents and requests into GitLab work items, and keep status in step across your tools.
44 ways to read, 23 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with GitLab, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Create branch
branches.createApproval by rule - Link issues
issue_links.createApproval by rule - List branches
branches.listRead
Example flow
- GitLab · List branches
branches.listDone - GitLab · Create branch
branches.createMaker-checker - Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches GitLab.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to GitLab
- GitLab's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect a GitLab test account before you go live.
For developers
Technical detail
GitLab groups, projects, files, issues, threads, time tracking, labels, milestones, merge requests, reviews, approvals, pipelines, statuses, environments and releases.
GitLab API docs- Source actions
- 44
- Destination actions
- 23
- Data types
- 36
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
branches3
- Create branchDestinationProvider duplicate protectionApproval before production
Creates a branch from an existing branch, tag or commit.
- Get branchSource
One branch with head commit and protection state.
- List branchesSource
Repository branches with head commit, protection and merge state.
commit statuses1
- List commit statusesSource
CI job and external statuses reported on a commit.
commits2
- Get commitSource
One commit with addition and deletion statistics.
- List commitsSourceIncremental
Repository commits on a branch, newest first.
current user1
- Get authenticated userSource
The user that owns the token.
deployments1
- List deploymentsSourceIncremental
Deployments ordered by last update, for incremental sync.
environments1
- List environmentsSource
Deployment environments with state and tier.
files1
- Get fileSource
One repository file's metadata and, for text files up to 1 MB, its UTF-8 content.
groups2
- Get groupSource
One group's metadata, without its projects.
- List groupsSource
Groups the token's user can access, ordered by full path.
issue discussions1
- List issue threadsSource
Comment threads on an issue with their notes.
issue links2
- Link issuesDestinationProvider duplicate protectionApproval before production
Creates a relates_to, blocks or is_blocked_by link to another issue.
- List issue linksSource
Issues linked to an issue with the link type (relates_to, blocks, is_blocked_by).
issue notes4
- Add issue noteDestinationNot retried automaticallyApproval before production
Adds a comment to an issue, optionally as an internal note.
- Get issue noteSource
One comment or system note on an issue.
- List issue notesSource
Comments and system notes on an issue, oldest update first.
- Update issue noteDestinationProvider duplicate protectionApproval before production
Replaces the body of an existing issue note.
issue spent time1
- Add spent time to issueDestinationNot retried automaticallyApproval before production
Adds (or with a negative duration, subtracts) time spent on an issue.
issue time estimate1
- Set issue time estimateDestinationProvider duplicate protectionApproval before production
Sets the time estimate on an issue, replacing any previous estimate.
issue time stats1
- Get issue time trackingSource
Time estimate and total time spent on an issue, in seconds and human format.
issues5
- Create issueDestinationNot retried automaticallyApproval before production
Creates an issue, incident, test case or task with labels, assignees, milestone, weight and due date.
- Get issueSource
One project issue with time tracking, weight and epic.
- List issuesSourceIncremental
Issues in one project, or every issue visible to the token when no project is given, ordered by last update.
- Search issuesSourceIncremental
Issues filtered by author, assignee, labels, milestone, type, confidentiality and created or updated dates. No free-text search.
- Update issueDestinationProvider duplicate protectionApproval before production
Updates fields, adds or removes labels, or closes and reopens an issue.
jobs1
- Get jobSource
One CI/CD job with stage, status and timings. Logs and artifacts are not read.
labels4
- Create labelDestinationProvider duplicate protectionApproval before production
Creates a project label. Names are unique per project.
- Get labelSource
One project label with its open issue count.
- List labelsSource
Project labels, including inherited group labels, with open issue counts.
- Update labelDestinationProvider duplicate protectionApproval before production
Renames a label or changes its colour, description or priority.
merge request approvals1
- Get merge request approval stateSource
Whether a merge request is approved, approvals left and who approved.
merge request commits1
- List merge request commitsSource
Commits in a merge request.
merge request diffs1
- List merge request changed filesSource
Files changed by a merge request with rename, new and deleted flags. Diff text is not returned.
merge request discussion notes1
- Reply to merge request threadDestinationNot retried automaticallyApproval before production
Adds a reply to an existing merge request thread.
merge request discussions2
- Start merge request threadDestinationNot retried automaticallyApproval before production
Starts a review thread on a merge request, either general or on a diff line (position).
- List merge request threadsSource
Review threads and comments on a merge request, with diff positions.
merge request notes4
- Add merge request noteDestinationNot retried automaticallyApproval before production
Adds a comment to a merge request.
- Get merge request noteSource
One comment or system note on a merge request.
- List merge request notesSource
Comments and system notes on a merge request, oldest update first.
- Update merge request noteDestinationProvider duplicate protectionApproval before production
Replaces the body of an existing merge request note.
merge request pipelines1
- List merge request pipelinesSource
Pipelines that ran for a merge request.
merge request spent time1
- Add spent time to merge requestDestinationNot retried automaticallyApproval before production
Adds (or with a negative duration, subtracts) time spent on a merge request.
merge request time estimate1
- Set merge request time estimateDestinationProvider duplicate protectionApproval before production
Sets the time estimate on a merge request, replacing any previous estimate.
merge request time stats1
- Get merge request time trackingSource
Time estimate and total time spent on a merge request.
merge requests4
- Create merge requestDestinationNot retried automaticallyApproval before production
Opens a merge request from a source branch into a target branch.
- Get merge requestSource
One merge request with merge status and reviewers.
- List merge requestsSourceIncremental
Merge requests in a project ordered by last update.
- Update merge requestDestinationProvider duplicate protectionApproval before production
Updates fields, labels, reviewers or closes and reopens a merge request. Does not merge.
milestone issues1
- List milestone issuesSource
Issues assigned to a project milestone.
milestones4
- Create milestoneDestinationProvider duplicate protectionApproval before production
Creates a project milestone. Titles are unique per project.
- Get milestoneSource
One project milestone.
- List milestonesSourceIncremental
Project milestones with dates and state.
- Update milestoneDestinationProvider duplicate protectionApproval before production
Updates a milestone or closes and reactivates it.
pipeline jobs1
- List pipeline jobsSource
Jobs in a pipeline with stage, status and timings.
pipelines3
- Run pipelineDestinationNot retried automaticallyApproval before production
Creates a new pipeline for a branch or tag with optional variables and inputs.
- Get pipelineSource
One pipeline with duration and coverage.
- List pipelinesSourceIncremental
CI/CD pipelines ordered by last update.
projects3
- Get projectSource
One project's metadata by numeric ID or full path.
- List projectsSourceIncremental
Projects the token's user is a member of, ordered by last update.
- Update project descriptionDestinationProvider duplicate protectionApproval before production
Updates a project's description or topics. Visibility, members, settings and CI/CD configuration are never changed.
releases3
- Create releaseDestinationProvider duplicate protectionApproval before production
Creates a release for a tag, creating the tag from ref if needed.
- Get releaseSource
One release by tag name.
- List releasesSource
Project releases, newest first.
repository tree1
- List repository treeSource
Files and folders under a path (metadata only), optionally recursive.
tags1
- List tagsSource
Repository tags, most recently updated first.
Access and limits
- Authentication
- Personal, group or project access token
- Plans and access
- GitLab.com Free, Premium and Ultimate, GitLab Self-Managed and Dedicated. Weight, multiple assignees and epics on issues need Premium or Ultimate. Results follow the token owner's project roles. Group and project access tokens are limited to their group or project.
- Test environment
- A free GitLab.com account with a private project works for testing.
- Rate limits
- GitLab.com applies per-user and per-endpoint limits (for example 2,000 authenticated API requests per minute); self-managed limits are set by administrators. HTTP 429 with Retry-After.
- Pagination
- Offset pages with per_page up to 100, followed through the Link header rel="next".
- Provider events
- Project and group webhooks for issue, note, merge request, pipeline and release events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- The legacy Epics REST API is deprecated in favour of the Work Items GraphQL API and is not implemented; issues can still be added to an epic with epicId.
- Self-managed instances served under a URL path (for example https://example.com/gitlab) are not supported.
- Merging merge requests, running pipeline retries or cancellations and deletes are not implemented.
- Issue, note, thread, merge request, pipeline and spent-time writes have no idempotency key; uncertain writes are not repeated automatically.
- Intentionally excluded: deletes of any kind, merges, approvals and unapprovals, thread resolution, rebases, tag creation, file commits, pushes and ref updates, project creation, visibility, settings, member, invitation and access token changes, CI/CD variables and secrets, pipeline retries and cancellations, job plays, retries and logs, and release publishing beyond the existing operation.
- issues.search uses validated filters only (people, labels, milestone, type, dates); GitLab's free-text search parameter and the global search API are not used.
- Repository tree reads use GitLab's keyset pagination followed through the Link header; file reads return text only for UTF-8 files up to 1 MB.
- Self-managed instances must run a GitLab version that supports each endpoint (for example merge request diffs need GitLab 15.7 or later).
Developer reference
- Create the GitLab credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose GitLab, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/gitlab and the Connections API.