Перейти к основному содержимому

PanDev + GitLab: полная настройка за 15 минут

· 6 мин. чтения
Artur Pan
CTO & Co-Founder at PanDev

Подключение GitLab к PanDev Metrics занимает около 15 минут. После этого каждый коммит, merge request и событие pipeline автоматически поступают в вашу инженерную панель.

Это руководство охватывает как GitLab SaaS (gitlab.com), так и self-managed инстансы. Никаких плагинов, никаких сложных OAuth-потоков — только webhooks и personal access token.

Что вы получите

После настройки интеграции PanDev Metrics будет отслеживать:

  • Коммиты — кто коммитил, когда, что изменилось и сколько строк
  • Merge Requests — время до открытия, длительность ревью, cycle time мержа
  • Ревью MR — комментарии, аппрувы, запросы на изменения по каждому ревьюеру
  • События репозитория — создание веток, push тегов, запуски pipeline

Всё это наполняет ваши DORA-метрики, дашборды cycle time и профили отдельных контрибьюторов.

Предварительные требования

Перед началом убедитесь, что у вас есть:

ТребованиеПодробности
Аккаунт GitLabРоль Owner или Maintainer в проектах, которые вы хотите отслеживать
Аккаунт PanDev MetricsРоль Admin или Manager
Сетевой доступВаш инстанс GitLab должен иметь доступ к webhook-эндпоинту PanDev (или к вашему on-premise инстансу PanDev)

Шаг 1: Сгенерируйте Personal Access Token в GitLab

PanDev нужен доступ на чтение к вашим репозиториям и merge requests. Personal Access Token (PAT) — самый простой способ это обеспечить.

  1. В GitLab перейдите в User Settings → Access Tokens
  2. Нажмите Add new token
  3. Настройте токен:
Token name: pandev-metrics-integration
Expiration date: (установите на 1 год или согласно вашей политике безопасности)
Scopes: ✅ read_api
✅ read_repository
  1. Нажмите Create personal access token
  2. Скопируйте токен сразу — вы не увидите его снова

:::tip Group Access Tokens Если вы подключаете несколько проектов в рамках одной группы, рассмотрите использование Group Access Token. Перейдите в Group → Settings → Access Tokens и следуйте тем же шагам. Это позволяет не привязывать интеграцию к конкретному пользовательскому аккаунту. :::

Шаг 2: Добавьте токен в PanDev Metrics

  1. Войдите в PanDev Metrics
  2. Перейдите в Settings → Integrations → GitLab
  3. Нажмите Add GitLab Connection
  4. Заполните данные подключения:
GitLab URL: https://gitlab.com (или URL вашего self-managed инстанса)
Access Token: glpat-xxxxxxxxxxxxxxxxxxxx
  1. Нажмите Test Connection

Вы должны увидеть зелёную галочку и список доступных групп и проектов. Если тест не прошёл, проверьте scopes токена и сетевое подключение.

Шаг 3: Выберите проекты для отслеживания

После успешного подключения PanDev покажет все проекты, к которым есть доступ у вашего токена.

  1. Используйте поиск или просмотрите дерево групп
  2. Отметьте чекбоксы рядом с проектами, которые хотите отслеживать
  3. Нажмите Save Selection

:::note Крупные организации Если у вас 50+ проектов, вы можете выбрать целые группы. PanDev автоматически подхватит новые проекты, добавленные в эту группу позднее. :::

Шаг 4: Настройте Webhooks

Webhooks делают интеграцию работающей в реальном времени. Без них PanDev пришлось бы опрашивать API GitLab — медленнее и с ограничением по rate limit.

PanDev может создавать webhooks автоматически, но вот как это сделать вручную, если ваша политика безопасности этого требует.

Автоматическая настройка (рекомендуется)

На странице интеграции PanDev нажмите Setup Webhooks Automatically. PanDev создаст webhook на каждом выбранном проекте с правильным URL и событиями.

Ручная настройка

Если вы предпочитаете создавать webhooks самостоятельно:

  1. В GitLab перейдите в Project → Settings → Webhooks
  2. Нажмите Add new webhook
  3. Настройте:
URL: https://hooks.pandev-metrics.com/api/v1/gitlab/webhook
Secret token: (скопируйте из PanDev Settings → Integrations → GitLab → Webhook Secret)

Trigger events:
✅ Push events
✅ Merge request events
✅ Comments
✅ Pipeline events (опционально — для отслеживания deployment в DORA)

SSL verification: ✅ Enable SSL verification
  1. Нажмите Add webhook
  2. Протестируйте, нажав на выпадающий список TestPush events

Вы должны увидеть ответ 200 OK. Если получаете таймаут, проверьте правила файрвола.

Group-Level Webhooks (GitLab Premium)

Если у вас GitLab Premium или Ultimate, вы можете настроить один webhook на уровне группы:

  1. Перейдите в Group → Settings → Webhooks
  2. Используйте тот же URL и secret, что и выше
  3. Это покроет все текущие и будущие проекты в группе

Шаг 5: Проверьте поток данных

Подождите минуту, затем проверьте PanDev Metrics:

  1. Перейдите в Dashboard → Activity Feed
  2. Вы должны увидеть недавние коммиты и merge requests
  3. Откройте любой проект в PanDev — вкладки Commits и Merge Requests должны показывать данные

Если данные не поступают:

СимптомРешение
Нет данных вообщеПроверьте логи доставки webhook в GitLab (Project → Settings → Webhooks → Edit → Recent Deliveries)
Коммиты есть, но нет MRУбедитесь, что Merge request events включён в webhook
Ошибки 401 в логах webhookПерегенерируйте webhook secret в PanDev и обновите его в GitLab
Ошибки таймаутаПроверьте, разрешён ли исходящий трафик к hooks.pandev-metrics.com на порту 443

Шаг 6: Сопоставьте пользователей GitLab с профилями PanDev

Для точных метрик по каждому разработчику PanDev нужно знать, какой пользователь GitLab соответствует какому участнику команды.

  1. Перейдите в Settings → Team Management
  2. PanDev покажет список обнаруженных имён пользователей GitLab
  3. Сопоставьте каждое имя с правильным профилем участника команды
  4. Если разработчик использует несколько email-адресов для коммитов, добавьте все алиасы в его профиль

Этот шаг важен для:

  • Точных индивидуальных метрик продуктивности
  • Корректной атрибуции cycle time
  • Кроссплатформенного разрешения идентичности (если один человек использует GitLab + Jira)

Шаг 7: Настройте параметры метрик (опционально)

Тонкая настройка того, что PanDev отслеживает:

Рабочие часы

Settings → Organization → Working Hours

По умолчанию: Пн-Пт, 09:00-18:00
Часовой пояс: автоопределение для каждого пользователя или общий для организации

Расчёт cycle time по умолчанию использует рабочие часы. Merge request, открытый в пятницу в 17:00 и смерженный в понедельник в 10:00, считается за 1 рабочий час, а не за 65 календарных часов.

Исключённые пути

Отфильтруйте шум от автогенерируемых файлов:

Settings → Projects → [Ваш проект] → Excluded Paths

Примеры:
- package-lock.json
- yarn.lock
- *.generated.ts
- vendor/**
- dist/**

Фильтры веток

Отслеживайте только значимые ветки:

Settings → Projects → [Ваш проект] → Branch Filters

Include: main, master, develop, release/*, feature/*
Exclude: dependabot/*, renovate/*

Как выглядит ваш дашборд после настройки

В течение 24 часов после настройки (или быстрее, если ваша команда активна) вы увидите:

  • Разбивка Cycle Time — от первого коммита до мержа, с разделением на время кодирования, ревью и ожидания
  • Пропускная способность MR — сколько merge requests отправляется в день/неделю
  • Нагрузка на ревью — кто ревьюит больше всех и как быстро
  • Паттерны коммитов — когда ваша команда наиболее активна
  • Метрики DORA — частота деплоев, lead time, MTTR и change failure rate (требуются pipeline webhooks)

Решение проблем

Ошибка "Token expired" через несколько месяцев

У PAT в GitLab есть срок действия. Установите напоминание в календаре, чтобы ротировать токен до его истечения. Обновите его в PanDev → Settings → Integrations → GitLab → Edit Connection.

Self-managed GitLab за VPN

Два варианта:

  1. Добавьте IP-диапазон PanDev в allow-list — свяжитесь с support@pandev-metrics.com для получения актуального списка IP
  2. Разверните PanDev on-premise — запустите PanDev внутри вашей сети через Docker или Kubernetes (смотрите наше руководство по on-premise развёртыванию)

Сбои доставки webhook после обновления GitLab

После крупных обновлений GitLab подпись webhook может измениться. Перетестируйте ваши webhooks и перегенерируйте secret при необходимости.

Следующие шаги

Ваша интеграция с GitLab работает. Вот что делать дальше:

  • Добавьте IDE-плагины — установите плагин для VS Code или JetBrains для отслеживания времени кодирования
  • Подключите Jira или ClickUp — свяжите активность в коде с задачами и спринтами
  • Настройте командные дашборды — создайте представления для каждого тимлида
  • Включите AI-ассистент — задавайте вопросы вроде «Какой был средний cycle time в прошлом спринте?»

Готовы подключить GitLab? Начните с PanDev Metrics — настройка занимает 15 минут, а первые инсайты появляются в течение нескольких часов.

Попробуйте сами — бесплатно

Подключите IDE-плагин за 2 минуты и увидьте свои реальные метрики. Без карты, без обязательств.

Попробовать бесплатно