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
7 открытых MR ждут ревью, самый старый — 9 дней.
Разложил по проектам: backend 4, web 2, infra 1. Дольше всех висит !318 «Миграция биллинга» — ревьюер назначен, но ни одного комментария с 15 июля.
Очередь ревью
Document · DOCXHow 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
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
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
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.