GitLab

Find merge requests without review and dig into pipelines

Connect GitLab to the AI agent: projects, issues, merge requests, commits and CI/CD pipelines. The agent surfaces stale MRs and digs into failed pipelines.

How the agent works with GitLab

The agent calls the GitLab API — of whichever instance was entered at connection: gitlab.com or the root of your own install. It reads projects, issues, merge requests with their comments, commits and CI/CD pipelines, and then works things out: which MRs have hung without review the longest and whose turn it is, which job the overnight pipeline broke on, whose commit triggered it and whether it has happened before.

A failed pipeline on its own explains little: the agent goes down to the job level and names the specific step and commit rather than just the red status of the whole run. The second GitLab peculiarity is numbering: a merge request and an issue each have a number within the project and a global identifier, and these are different numbers, so the agent always keeps the project alongside — otherwise MR number 5 exists differently in every repository.

The agent accepts a GitLab webhook only when it is signed: without a shared secret or a secret token in the header the delivery is rejected, and a repeat delivery of the same event is dropped by its identifier. That is how a push, a new MR and a failed pipeline reach the chat without polling on a schedule. With the api scope writing is technically within reach, but a comment, a status change or a job re-run is agreed with you before it happens.

The agent sees exactly what the account whose token is connected sees: no request gets it around a project's permissions, and instead of guessing it answers that the section is closed. Lists of issues, merge requests and pipelines come back in pages, so a large project is walked in portions with the agent holding its own request rate. It never downloads a whole repository — it reads the files it needs and the diffs of specific commits, and if there is no data for the period it says so directly instead of showing an empty digest.

Integration scenarios

MRs waiting on review

The agent collects open merge requests across your projects and shows which ones have sat without review the longest and whose turn it is.

Failed pipelines

The agent digs into failed pipelines: which job broke, whose commit triggered it and whether it has happened before.

Morning project digest

The agent sends a scheduled digest: new issues, merged merge requests and the status of overnight CI/CD pipelines.

Events in the team chat

The agent catches a push, a new merge request or a failed pipeline via webhook and posts about it in your work chat.

Issue backlog breakdown

The agent sorts open issues by label, assignee and age and shows what has been sitting without a single comment for over a month.

Who touched this file

The agent walks the commit history of a given file, shows the diffs of the latest changes and names who has edited it more often than anyone.

GitLab examples

GitLab
Frozen chats — click a question
Кто тормозит наши merge request?

7 открытых MR ждут ревью, самый старый — 9 дней.

Разложил по проектам: backend 4, web 2, infra 1. Дольше всех висит !318 «Миграция биллинга» — ревьюер назначен, но ни одного комментария с 15 июля.

Очередь ревью

Document · DOCX

How to connect

Before you connect

  • At least the Reporter role in the projects, Developer for merge requests.
  • Network access to your GitLab if it is self-managed.
  1. 1

    Sign in with the Reporter role or above

    A token inherits its owner's rights: reading code and pipelines needs Reporter or above, creating merge requests needs Developer.

  2. 2

    Determine your GitLab address

    GitLab SaaS is https://gitlab.com. For self-managed take the root address with the scheme, e.g. https://git.company.ru, without /api/v4.

  3. 3

    Open “Personal access tokens” in the profile

    Avatar → “Edit profile” → “Access” → “Personal access tokens”. From the “Generate token” dropdown pick “Legacy token”.

FAQ

With a personal token: avatar → Edit profile → Access → Personal access tokens, then Generate token in the list, pick Legacy token and tick the api scope — read_api leaves you with view access only. The address is a separate field and defaults to https://gitlab.com.

Projects, issues, merge requests, comments, commits and CI/CD pipelines — exactly within your account permissions, the token grants nothing more.

Yes: enter the root URL of your own instance instead of https://gitlab.com when connecting, without /api/v4 at the end. The token has to be issued in the same instance the agent talks to.

By default the agent reads projects and reports back in chat. With the api scope writing is technically possible, but the agent confirms such actions with you before performing them.

Related integrations

Category
Development
Connection
API key
Documentation
GitLab

Connect GitLab

Connecting takes a couple of minutes, and your data stays in your own systems.

Connect