Находите merge request без ревью и разбирайте пайплайны
Подключите GitLab к ИИ-агенту: проекты, issues, merge request, коммиты и пайплайны CI/CD. Агент покажет MR без ревью и разберёт упавшие пайплайны.
Как агент работает с GitLab
Агент ходит в API GitLab — того инстанса, адрес которого указан при подключении: gitlab.com или корень вашей установки. Читает он проекты, issues, merge request с комментариями, коммиты и пайплайны CI/CD, а дальше считает: какие MR висят без ревью дольше всех и за кем очередь, на каком job сломался ночной пайплайн, чей коммит его запустил и повторялось ли это раньше.
Упавший пайплайн сам по себе мало что объясняет: агент спускается на уровень job и называет конкретный шаг и коммит, а не только красный статус целого прогона. Вторая особенность GitLab — нумерация: у merge request и issue есть номер внутри проекта и сквозной идентификатор, и это разные числа, поэтому агент всегда держит рядом проект, иначе «MR номер 5» существует в каждом репозитории по-своему.
Вебхук GitLab агент принимает только подписанным: без общего секрета или секретного токена в заголовке доставка отклоняется, а повторную доставку одного события он отсекает по его идентификатору. Так push, новый MR и упавший pipeline попадают в чат без опроса по расписанию. На запись со scope «api» агент технически способен, но комментарий, смену статуса или перезапуск job согласует с вами до выполнения.
Видит агент ровно то, что видит аккаунт, чьим токеном он подключён: обойти права проекта запросом он не может и вместо догадки отвечает, что раздел закрыт. Списки issues, merge request и пайплайнов API отдаёт страницами, поэтому крупный проект агент обходит порциями и сам выдерживает частоту запросов. Репозиторий целиком он не выкачивает — читает нужные файлы и диффы конкретных коммитов, а если данных за период нет, скажет об этом прямо, а не покажет пустую сводку.
Сценарии интеграции
MR без ревью
Агент соберёт открытые merge request по проектам и покажет, какие висят без ревью дольше всех и за кем очередь.
Упавшие пайплайны
Агент разберёт упавшие пайплайны: на каком job сломалось, чей коммит его запустил и повторялось ли это раньше.
Утренняя сводка по проектам
Агент пришлёт сводку по расписанию: новые issue, принятые merge request и статус ночных пайплайнов CI/CD.
События в чат команды
Агент поймает push, новый merge request или упавший pipeline по вебхуку и напишет об этом в рабочий чат.
Разбор бэклога issues
Агент разложит открытые issues по меткам, ответственным и давности и покажет, что висит без единого комментария дольше месяца.
Кто трогал этот файл
Агент пройдёт по истории коммитов нужного файла, покажет диффы последних правок и назовёт, кто менял его чаще остальных.
Примеры: GitLab
7 открытых MR ждут ревью, самый старый — 9 дней.
Разложил по проектам: backend 4, web 2, infra 1. Дольше всех висит !318 «Миграция биллинга» — ревьюер назначен, но ни одного комментария с 15 июля.
Ассистент может ошибаться — проверяйте его работу
За сутки 9 упавших пайплайнов из 47.
- backend, job «rspec» — 7 падений подряд
- web, job «lint» — 2 падения, авторы разные
Красным всё пошло с одного коммита в release: первый упавший пайплайн — сразу после него, зелёных в backend с тех пор не было. Трейс каждого job GitLab отдаёт отдельным запросом, поэтому смотрел только упавшие, а не весь прогон.
Ассистент может ошибаться — проверяйте его работу
Как подключить
Перед подключением
- Роль не ниже Reporter в нужных проектах, Developer — для merge request.
- Сетевой доступ к вашему GitLab, если он развёрнут у вас.
- 1
Войдите под аккаунтом с доступом к проектам
Токен наследует права владельца: для чтения кода и пайплайнов нужна роль не ниже Reporter, для создания merge request — Developer.
- 2
Определите адрес своего GitLab
Облачный GitLab — это https://gitlab.com. Для self-managed возьмите корневой адрес со схемой, например https://git.company.ru, без /api/v4 в конце.
- 3
Откройте «Personal access tokens» в профиле
Аватар в правом верхнем углу → «Edit profile» → в левом меню «Access» → «Personal access tokens». В выпадающем списке «Generate token» выберите «Legacy token».
- 4
Выдайте scope «api» и скопируйте токен
Отметьте scope «api» — чтение и запись; «read_api» оставит только просмотр. Токен вида glpat-… показывается один раз.
Частые вопросы
Персональным токеном: аватар → «Edit profile» → «Access» → «Personal access tokens», в списке «Generate token» выберите «Legacy token» и отметьте scope «api» — «read_api» оставит только просмотр. Адрес указывается отдельным полем, по умолчанию https://gitlab.com.
Проекты, issues, merge request, комментарии, коммиты и пайплайны CI/CD — ровно в пределах прав вашего аккаунта, больше токен не даёт.
Да: корень своего инстанса указывается при подключении вместо https://gitlab.com, без /api/v4 на конце. Токен при этом выпускается в том же инстансе, куда ходит агент.
По умолчанию агент читает проекты и отчитывается в чате. Со scope «api» запись технически возможна, но такие действия он согласует с вами перед выполнением.