Анализ пулл-реквестов через веб-приложение для улучшения код ревью
Год назад в нашей команде решили внедрить средства анализа пулл-реквестов, т.к. некоторые разработчики уделяли мало времени код ревью, в итоге фичи долго не могли оказаться на проде. Выбрали решение на основе Github Action, начали собираться статистику, улучшать процессы, но и столкнулись с ограничениями:
метрики разработчиков публиковались через комментарий в момент создания пулл-реквеста (т.е. по сути актуальных данных не было, если не делать новые пулл-реквесты),
такая полезная метрика как «среднее время ревью» (и другие вмененные метрики) не учитывала нерабочее время, выходные, отпуска, праздники (приходит разработчик после отпуска, делает ревью пулл-реквеста, а в статистику получает 2 недели потраченного времени на ревью),
данные собирались в рамках одного репозитория и суммарной статистики по компании не было.
Ну, а там, где есть недостатки, можно сделать своё веб-приложение, пара недель разработки на Ruby on Rails и минимальный набор функций был реализован в PullKeeper’е. Спустя год доработок функционал приложения значительно улучшился, появились первые сторонние компании, которые стали его использовать и анализировать свои пулл-реквесты.
Главная страница со статистикой
К преимуществам PullKeeper’а над экшенами можно отнести:
данные о пулл-реквестах, ревью и комментариях собираются с Github и Gitlab, обновляются 1 раз в час, можно добавить правила для исключения пулл-реквестов (хотфиксы в мастер, релизы, любые дублирующие пулл-реквесты),
всю статистику можно проверить в одном месте как отдельно для репозиториев, так и в целом по всей компании,
теперь можно указывать рабочее время, выходные, отпуска разработчиков, поэтому временные метрики рассчитываются гораздо точнее,
12 метрик для анализа разработчиков и 11 метрик для анализа репозиториев в целом,
сравнение статистики с предыдущими периодами, для анализа прогресса разработчиков,
отправка статистики и уведомлений в Slack, Discord или Telegram,
разработчики автоматически имеют доступ к статистике репозиториев, в которых они пишут код, достаточно просто залогиниться в приложение,
система достижений для большей вовлечённости разработчиков.
Единственная минимально необходимая настройка — это создание и добавление PAT-токена с правами только на чтение данных о пулл-реквестах для нужных репозиториев.
Код приложения открыт, можно проверить его, оставить фидбэк, описать баги или попросить интегрировать новые фичи.