Giter Site home page Giter Site logo

code-review-bot's Introduction

Код Ревью Бот

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

Настройка

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

  • 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 (тг-бот отключен)
  • Выводить хэштэги в сообщении (тг-бот отключен)

Команда

[email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.