Skip to content
All connectors
GitLab logo

GitLab

Software delivery, ITSM & observability

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.

  1. Ready to connect: doneEvery listed action is built in.
  2. 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.
GitLab with Nexra

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 branchbranches.createApproval by rule
  • Link issuesissue_links.createApproval by rule
  • List branchesbranches.listRead

Example flow

  1. GitLab · List branchesbranches.listDone
  2. GitLab · Create branchbranches.createMaker-checker
  3. 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

  1. Create the GitLab credentials described above with the narrowest permissions your flows need.
  2. 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
  3. 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.