Автоматическое ревью Merge Request-ов в закрытом контуре с LLM: GitLab + n8n + neuralhub.ru
Ручное ревью кода — дорогое узкое место. LLM может подготовить черновик комментариев, избавив инженеров от рутинного скроллинга diff’ов и ускорив финальное ревью. Ниже — полный туториал: от «пустого» GitLab-репозитория до работающего workflow, который за минуту после открытия MR оставляет структурированный отзыв по каждому изменённому файлу.
Компонент | Роль |
---|---|
GitLab | Источник события Merge Request Hook |
n8n | Low-/no-code оркестратор, собирает файлы, вызывает LLM и постит комментарий |
neuralhub.ru | Серверлесс-платформа ⟶ модель Qwen3-32B (или любая 32B) |
Что нужно подготовить?
-
GitLab, Project access token. Scopes : api (webhook и возможность создавать комментарии к MR)
-
n8n
-
Аккаунт neuralhub.ru и API-ключ. Достаточно просто зарегистрироваться и получить ключ.
Общая схема работы
GitLab (MR Webhook)
↓
n8n workflow
↓
Получить список изменений из GitLab
↓
Для каждого файла:
├─ Получить diff
├─ Получить полный текст файла
└─ Отправить diff+файл в LLM (NeuralHub)
↓
Собрать все ответы LLM
↓
Сформировать комментарий
↓
Отправить комментарий в GitLab (MR)

Как настроить автоматическое ревью: шаг за шагом
Вот как можно дописать и структурировать твою статью: добавлены подробные шаги настройки, кратко раскрыто что такое NeuralHub, а также добавлен блок "Итог" (всё — в стиле твоего шаблона, чтобы сразу вставлять):
Как настроить автоматическое ревью: шаг за шагом
1. Создайте Project Access Token в GitLab

- Зайдите в настройки проекта → Access Tokens.
- Задайте название, выберите срок действия.
- Поставьте галочку api (этого достаточно для webhooks и комментариев к MR)
- Select a role -> Maintainer
- Скопируйте токен — после этого GitLab больше не покажет его.
2. Зарегистрируйтесь на neuralhub.ru и получите API-ключ
- Перейдите на neuralhub.ru и зарегистрируйтесь.
- Откройте личный кабинет.
- В разделе Агенты найдите Qwen3-32B и нажмите на кнопку API
-
API-ключ можно скопировать в один клик
3. Импортируйте workflow в n8n
- Скачайте файл autocomment_PR.json
- В блонке "constants" укажите: "gitlab_token" - токен из GitLab "gitlab_api_base" - адрес вашего GitLab-сервера "neuralhub_api_key" - API-ключ из neuralhub.ru
Этот блок служит для хранения констант, которые будут использоваться в workflow.

4. Запустите тест и проверьте результат
- Создайте или обновите Merge Request в тестовом проекте.
- Через 1-2 минуты в MR появится AI-комментарий с обзорами по каждому файлу.
- Если что-то не работает — смотрите Execution Log в n8n, проверьте токены и логику в узлах.
5. Изменений промпта к LLM
Для этого измените содержимое 👉 блок-кода под названием "формируем запрос к LLM". То есть в нашем случае используется демо-проект на nodejs. Вы можете использовать любой другой проект, например, на python, java, c++, etc и использовать соответствующий промпт.
// Function Node (Run For Each Item)
const fileText = Buffer
.from($input.first().json.content, 'base64')
.toString('utf8');
const codeDiff = $('void block').first().json.diff;
const fileName = $input.first().json.filePath;
// Системное и пользовательское сообщения
const systemMsg = {
role: "system",
content: "You are a senior software engineer and code reviewer, specialized in Node.js. Верни результат на русском языке. "
};
const userMsg = {
role: "user",
content: `
Please do two things:
1) Briefly summarise what changed in the diff.
2) Review only the code sections shown in the diff (including a few lines of surrounding context) for best practices
in the context of Node.js scripts: readability, error handling, naming, security, performance, and style consistency.
If the diff is too small or not tied to a specific function, just check those changes for general code quality
and common Node.js pitfalls.
Верни результат на русском языке.
File: ${fileName}
Diff:
\`\`\`
${codeDiff}
\`\`\`
Full file content:
\`\`\`js
${fileText}
\`\`\`
`.trim()
};
const messages = JSON.stringify([systemMsg, userMsg]);
let obj = {
"agent": "36",
"input_params": {
"messages": messages,
"temperature": 0.0,
"top_p": 1.0,
"max_tokens": -1
}
}
return obj
Что такое NeuralHub?

NeuralHub — это облачная serverless-платформа для запуска различных нейросетей (LLM, diffusion, speech-to-text и др.). Её преимущества:
- 📈 Большой выбор моделей, включая Qwen3-32B, T-pro-it-2.0, Gemini3 и другие.
- 🔒 Безопасность: Подобную систему можно развернуть во внутреннем контуре к кампании
- ⚡️ Serverless-архитектура — не нужно арендовать отдельный сервер для каждой нейронки. Архитектура позволяет запускать множество моделей на одном сервере..
- 💡 Удобный API — можно быстро интегрировать в любой pipeline или workflow.
Итог
Теперь у вас есть полностью автоматизированный pipeline для ревью Merge Request-ов: GitLab инициирует процесс, n8n организует сбор изменений и общение с LLM, а NeuralHub предоставляет гибкий API для работы с различными языковыми моделями.
Важное преимущество такого подхода в том, что вы можете развернуть подобную систему в закрытом контуре своей компании и легко переключаться между разными LLM-моделями, доступными на платформе. При этом вся инфраструктура остается изолированной и безопасной, а команда получает удобный инструмент для автоматизации ревью кода без необходимости настраивать каждую модель отдельно.
Если остались вопросы — пишите на hello@neuralhub.ru