Взаимодействие с BeeCR
Взаимодействие с BeeCR
⚠️ Примечание: Данный раздел документации предполагает, что в вашем GitLab проекте уже была настроена поддержка BeeCR. Иначе сперва требуется выполнить настройку, используя один из следующих подходов:
- Через webhook
- Через компонент CI/CD (поддерживается GitLab-ом начиная с версии 17)
- Через шаблон CI/CD (поддерживается и в более старых версиях GitLab)
🚀 Краткая инструкция
BeeCR анализирует изменения в коде в запросах на слияние (Merge Request) и добавляет замечания в виде комментариев к файлам. Как только создается новый запрос на слияние или код в существующем запросе на слияние обновляется, GitLab инициирует проверку патчей кода.
Пример:
- Предположим, что в вашем GitLab проекте уже есть ветка (git branch) с названием
main
, и в ней содержатся некоторые файлы исходного кода. - Создайте новую ветку, например,
develop
. - В ветке
develop
измените файлы исходного кода (или добавьте новые файлы) и отправьте их в репозиторий средствамиgit
. - На странице вашего проекта в web-интерфейсе GitLab откройте новый запрос на слияние (Merge Request) ветки
develop
в веткуmain
. - На странице вашего запроса на слияние в web-интерфейсе GitLab перейдите на вкладку с изменениями кода (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
выполните следующие действия:
- Перейдите к списку пайплайнов CI/CD в вашем проекте (разверните меню "Build" в web-интерфейсе GitLab на боковой панели и нажмите "Pipelines").
- Выберите пайаплайн, соответствующий вашему запросу на слияние (помечен дополнительным бейджем "merge request").
- Перейдите к задаче 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
, то для проведения проверки кода вам нужно запускать её самостоятельно:
- Перейдите к пайплайну с задачей
beecr
. - Рядом с задачей
beecr
нажмите на кнопку запуска ▶.
Обратитесь к этому разделу документации GitLab, чтобы узнать больше о ручном запуске задач.
Чтобы узнать, как настроить ручной запуск CI/CD задачи beecr
, перейдите к соответствующему разделу в документации об интеграции BeeCR через CI/CD: