Авто-ревью кода на каждый запрос на слияние — с учётом задачи

На каждый запрос на слияние сценарий разбирает изменения кода, сверяет их с задачей из Jira Software и оставляет замечания прямо в запросе.

  • Разбирает каждый запрос сам
  • Учитывает описание задачи из трекера
  • Замечания привязаны к строкам
  • Разгружает ревьюеров на первом проходе
Jira SoftwareWebhookGitLab

Как это работает

Интеграция Jira Software и Webhook собирается из готового сценария — вот как он устроен по шагам.

  1. Запуск: Триггер ошибки
  2. Затем: Получить статический контекст с ошибкой
  3. Затем: Отправить «Произошла ошибка»
  4. Затем: Очистить статический контекст
  5. Проверка: Нужна проверка
  6. Если да — Установить информацию выполнения сценария
  7. Затем: Отправить «Проверка начата»
  8. Затем: Извлечь детали MR
  9. Затем: Получить изменения MR
  10. Проверка: Слияние
  11. Затем: Разделить изменения
  12. Проверка: Пропустить изменения файлов
  13. Если да — Разобрать diff
  14. Затем: Подготовить изменения кода
  15. Затем: Базовая цепочка LLM
  16. Проверка: Объединить вывод LLM с вводом
  17. Затем: Агрегировать
  18. Затем: Обработать комментарии
  19. Проверка: Найдены проблемы?
  20. Если да — Получить статический контекст
  21. Затем: Отправить «Проблем не найдено»
  22. Если нет — Разделить комментарии
  23. Затем: Подготовить запрос
  24. Затем: Отправить комментарии Gitlab MR
  25. Затем: Подготовить запрос без позиции
  26. Затем: Отправить комментарии Gitlab MR без позиции
  27. Затем: Отфильтровать нерелевантные поля
  28. Затем: Извлечь ID задачи JIRA
  29. Затем: Получить задачу JIRA
  30. Затем: Форматировать контекст JIRA
  31. Проверка: Если подзадача JIRA
  32. Если да — Получить родительскую задачу JIRA
  33. Затем: Форматировать контекст родителя JIRA
  34. Затем: Модель чата Google Gemini
  35. Запуск: Слушать комментарии Gitlab

Такой сценарий можно запустить в Scriptera: задача описывается обычными словами, сборка и запуск — на стороне сервиса.