Чтобы подключить бота, создайте на сервере переменные окружения:
- 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 (тг-бот отключен)
- Выводить хэштэги в сообщении (тг-бот отключен)