Перейти к содержанию

Взаимодействие с BeeCR

Взаимодействие с BeeCR

⚠️ Примечание: Данный раздел документации предполагает, что в вашем GitLab проекте уже была настроена поддержка BeeCR. Иначе сперва требуется выполнить настройку, используя один из следующих подходов:

🚀 Краткая инструкция

BeeCR анализирует изменения в коде в запросах на слияние (Merge Request) и добавляет замечания в виде комментариев к файлам. Как только создается новый запрос на слияние или код в существующем запросе на слияние обновляется, GitLab инициирует проверку патчей кода.

Пример:

  1. Предположим, что в вашем GitLab проекте уже есть ветка (git branch) с названием main, и в ней содержатся некоторые файлы исходного кода.
  2. Создайте новую ветку, например, develop.
  3. В ветке develop измените файлы исходного кода (или добавьте новые файлы) и отправьте их в репозиторий средствами git.
  4. На странице вашего проекта в web-интерфейсе GitLab откройте новый запрос на слияние (Merge Request) ветки develop в ветку main.
  5. На странице вашего запроса на слияние в web-интерфейсе GitLab перейдите на вкладку с изменениями кода (Changes) и пролистайте список изменений до файла, который вас интересует. Комментарии к изменениями в файле будут отображаться непосредственно над блоком изменений к этому файлу.

changes

📄 Особенности

  • BeeCR проверяет изменения в коде (патчи) только в запросах на слияние.
  • BeeCR добавляет замечания в виде комментариев к файлам.
  • Если файл уже содержит комментарии от BeeCR и не был изменен с момента прошлой проверки, BeeCR не проверяет патч кода для такого файла снова.
  • Если же файл был изменен с момента последней проверки, то BeeCR либо удалит, либо скроет свой устаревший комментарий:
    • Устаревший комментарий будет просто удален, если другие участники проекта не оставляли ответных комментариев.
    • Устаревший комментарий будет свернут (с возможностью развернуть обратно), если другие участники проекта оставляли свои ответные комментарии.

🪝 Особенности BeeCR при интеграции через вебхуки

⚠️ Примечание: Информация в этом разделе актуальна только в случае интеграции BeeCR через вебхуки.

▶️ Ручной запуск проверки кода

Если события "Comment" были разрешены в вашем проекте для вебхука BeeCR, то вы можете инициировать процесс проверки вручную, оставив комментарии в своем запросе на слияние (Merge Request). Комментарии, которые инициируют проверку, должны содержать специальное выражение /beecr.

⚠️ Примечание: Ваш DevOps или системный администратор могут задать другое выражение в параметрах вебхука, либо в настройках сервера API (если вы используете BeeCR, развернутый на ваших серверах).

Проверка одного файла

Оставьте комментарий к определенному файлу в своем запросе на слияние, чтобы начать проверку этого файла. В этом случае любые настройки, определяющие набор целевых файлов, будут проигнорированы.

запуск проверки файла

Проверка всех файлов

Оставьте комментарий ко всему запросу на слияние, чтобы проверить все целевые файлы.

⚠️ Примечание: По умолчанию проверка включена для файлов на следующих языках:

  • Python: .py
  • C/C++: .h, .hpp, .c, .cpp
  • C#: .cs
  • Java: .java
  • Kotlin: .kr
  • Swift: .swift
  • PHP: .php
  • Go: .go
  • Bash/Shell: .sh
  • JavaScript/Typescript: .js, .jsx, .mjs, .mjsx, .ts, .tsx

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

запуск проверки всех файлов

⚙️ Особенности BeeCR при интеграции через CI/CD

⚠️ Примечание: Информация в этом разделе актуальна только в случае интеграции BeeCR через компонент или шаблон задачи CI/CD.

🔕 Пропустить выполнение CI/CD задачи beecr

Задача beecr не будет создана, если сопроводительное сообщение в коммите (git commit) содержит любое из следующих выражений:

  • :mute:, [mute]
  • :no-review:, :no_review:, :no review:, [no review], [no-review], [no_review]
  • :skip-review:, :skip_review:, :skip review:, [skip-review], [skip_review], [skip review]

📃 Логи CI/CD задачи beecr

В случае необходимости посмотреть логи CI/CD задачи beecr выполните следующие действия:

  1. Перейдите к списку пайплайнов CI/CD в вашем проекте (разверните меню "Build" в web-интерфейсе GitLab на боковой панели и нажмите "Pipelines").
  2. Выберите пайаплайн, соответствующий вашему запросу на слияние (помечен дополнительным бейджем "merge request").
  3. Перейдите к задаче BeeCR в деталях вашего конвейера.

пайплайн задача

В приведенном выше примере BeeCR сформировал следующий отчет о проверке кода:

{
  "code": 200,
  "message": "Review finished successfully.",
  "success": true,
  "total_changes_count": 1,
  "total_discussions_count": 1,
  "reviews": [
    {
      "success": true,
      "reviewed": true,
      "message": "Reviewed because the file has never been reviewed before.",
      "type": "file",
      "old_path": "examples/service.h",
      "new_path": "examples/service.h"
    }
  ]
}

Из этого примера отчета мы можем получить следующую информацию:

  • Процедура проверки кода завершена успешно.
  • В запросе на слияние был проверен один файл: examples/service.h
  • BeeCR оставил комментарии к файлу examples/service.h, потому что файл ранее проверен не был.

▶️ Ручной запуск CI/CD задачи beecr

По умолчанию CI/CD задача beecr выполняется автоматически. Однако можно настроить выполнение задачи вручную. Если на вашем проекте настроено ручное выполнение CI/CD задачи beecr, то для проведения проверки кода вам нужно запускать её самостоятельно:

  1. Перейдите к пайплайну с задачей beecr.
  2. Рядом с задачей beecr нажмите на кнопку запуска ▶.

пайплайн

Обратитесь к этому разделу документации GitLab, чтобы узнать больше о ручном запуске задач.

Чтобы узнать, как настроить ручной запуск CI/CD задачи beecr, перейдите к соответствующему разделу в документации об интеграции BeeCR через CI/CD: