Анализ пулл-реквестов через веб-приложение для улучшения код ревью

Год назад в нашей команде решили внедрить средства анализа пулл-реквестов, т.к. некоторые разработчики уделяли мало времени код ревью, в итоге фичи долго не могли оказаться на проде. Выбрали решение на основе Github Action, начали собираться статистику, улучшать процессы, но и столкнулись с ограничениями:

  • метрики разработчиков публиковались через комментарий в момент создания пулл-реквеста (т.е. по сути актуальных данных не было, если не делать новые пулл-реквесты),

  • такая полезная метрика как «среднее время ревью» (и другие вмененные метрики) не учитывала нерабочее время, выходные, отпуска, праздники (приходит разработчик после отпуска, делает ревью пулл-реквеста, а в статистику получает 2 недели потраченного времени на ревью),

  • данные собирались в рамках одного репозитория и суммарной статистики по компании не было.

Ну, а там, где есть недостатки, можно сделать своё веб-приложение, пара недель разработки на Ruby on Rails и минимальный набор функций был реализован в PullKeeper’е. Спустя год доработок функционал приложения значительно улучшился, появились первые сторонние компании, которые стали его использовать и анализировать свои пулл-реквесты.

Главная страница со статистикой

Главная страница со статистикой

К преимуществам PullKeeper’а над экшенами можно отнести:

  • данные о пулл-реквестах, ревью и комментариях собираются с Github и Gitlab, обновляются 1 раз в час, можно добавить правила для исключения пулл-реквестов (хотфиксы в мастер, релизы, любые дублирующие пулл-реквесты),

  • всю статистику можно проверить в одном месте как отдельно для репозиториев, так и в целом по всей компании,

  • теперь можно указывать рабочее время, выходные, отпуска разработчиков, поэтому временные метрики рассчитываются гораздо точнее,

  • 12 метрик для анализа разработчиков и 11 метрик для анализа репозиториев в целом,

  • сравнение статистики с предыдущими периодами, для анализа прогресса разработчиков,

  • отправка статистики и уведомлений в Slack, Discord или Telegram,

  • разработчики автоматически имеют доступ к статистике репозиториев, в которых они пишут код, достаточно просто залогиниться в приложение,

  • система достижений для большей вовлечённости разработчиков.

Единственная минимально необходимая настройка — это создание и добавление PAT-токена с правами только на чтение данных о пулл-реквестах для нужных репозиториев.

Код приложения открыт, можно проверить его, оставить фидбэк, описать баги или попросить интегрировать новые фичи.

© Habrahabr.ru