bzvyagintsev / code-review-bot

Gitlab bot that mentions random developers from specified group beneath merge requests

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Код Ревью Бот

Начало работы

Настройка

Чтобы подключить бота, создайте на сервере переменные окружения:

  • GITLAB_API — ссылка на апи Гитлаб,
  • GITLAB_TOKEN: — токен для подключения к АПИ Гитлаб

Чтобы запустить бота локально, создайте secrets.js:

{
  "GITLAB_API": "{git_url}/api/v4/",
  "GITLAB_TOKEN": "gitlab_api_token"
}

Создайте в Гитлаб группу с командой, кто будет проводить код ревью.

Добавьте в проект на Гитлабе вебхук {bot-url}/gitlab?group={id} и подпишитесь на Merge request events.

Для деплоя и доступа к БД, создайте сервисный аккаунт и добавьте его в файл service-account.json.

Запуск

npm run start

Функциональность

Готово:

  • Сохранять MR в БД
  • Проверять WIP
  • Закрывать MR в БД, если приходит событие, что MR закрыт
  • Добавлять в комментарии ревьюеров по нику на Гитлабе
  • Команда из группы в Гит
  • Смена статуса когда ветка слита
  • Передавать id группы в вебхуке
  • CI/CD

Todo:

  • Выбор ревьюеров поочереди
  • Отображение всех активных MR
  • Добавить статус префикс для игнора MR
  • Рефакторинг, вынести повторяющийся код в общие функции
  • Подумать надо ли разделять приложение на модули
  • Менять статусы задач
  • Не присылать MR на ревью, если его нельзя смержить

Идеи:

  • Сбрасывать лайки при обновление MR
  • Можно назначать одного ревьюера в Assign
  • Выводить автора MR (тг-бот отключен)
  • Выводить в какую ветку MR (тг-бот отключен)
  • Выводить хэштэги в сообщении (тг-бот отключен)

Команда

b.zvyagintsev@gmail.com

About

Gitlab bot that mentions random developers from specified group beneath merge requests


Languages

Language:JavaScript 100.0%