Troubleshooting¶
FAQ та вирішення типових проблем.
Поширені проблеми¶
Action показує --help замість виконання¶
Симптом: В логах CI job видно:
Usage: ai-review [OPTIONS]
...
╭─ Options ─────────────────────────────────────────────────────────╮
│ --provider -p [github|gitlab] CI provider... │
Причина: Використовується стара версія Docker image (до v1.0.0a2).
Рішення:
Оновіть до останньої версії:
Якщо проблема залишається, явно вкажіть версію:
Review не з'являється¶
Симптом: CI job пройшов успішно, але коментарів немає.
Перевірте:
- Логи CI job — чи є помилки?
- API ключ — чи валідний
AI_REVIEWER_GOOGLE_API_KEY? - Токен — чи є права на write?
- github_token — чи передано явно?
"Configuration Error: AI_REVIEWER_GOOGLE_API_KEY is too short"¶
Причина: Ключ не встановлено або він некоректний.
Рішення:
- Перевірте що секрет додано в repo settings
- Перевірте назву (case-sensitive)
- Перевірте що ключ валідний на Google AI Studio
"401 Unauthorized" / "403 Forbidden"¶
Причина: Невалідний або недостатній токен.
"404 Not Found"¶
Причина: PR/MR або репозиторій не знайдено.
Рішення:
- Перевірте що PR/MR існує
- Перевірте назву репозиторію
- Перевірте що токен має доступ до репозиторію
"429 Too Many Requests" (Rate Limit)¶
Причина: Перевищено ліміт API.
Gemini Free Tier ліміти:
| Ліміт | Значення |
|---|---|
| Requests per minute | 15 |
| Tokens per day | 1,000,000 |
| Requests per day | 1,500 |
Рішення:
- AI Code Reviewer автоматично робить retry з exponential backoff
- Якщо проблема постійна — зачекайте або перейдіть на paid tier
- Додайте
concurrencyдля скасування дублікатів:
"500 Internal Server Error"¶
Причина: Проблема на стороні API (Google, GitHub, GitLab).
Рішення:
- AI Code Reviewer автоматично робить retry (до 5 спроб)
- Перевірте статус сервісів:
- Google Cloud Status
- GitHub Status
- GitLab Status
Review занадто повільний¶
Причина: Великий PR або повільна мережа.
Рішення:
- Зменшіть розмір PR
- Налаштуйте ліміти:
- Встановіть timeout:
Fork PRs не отримують review¶
Причина: Секрети недоступні для fork PRs (security).
Рішення:
Це очікувана поведінка. Для fork PRs:
- Maintainer може запустити review вручну
- Або використати
pull_request_target(обережно з безпекою!)
Мова відповідей неправильна¶
Причина: Неправильна конфігурація мови.
Рішення:
-
Для фіксованої мови:
-
Для адаптивної мови — переконайтесь що PR description написаний потрібною мовою
FAQ¶
Чи можна використовувати без API ключа?¶
Ні. Потрібен Google Gemini API ключ. Free tier достатній для більшості проєктів.
Чи підтримується Bitbucket?¶
Ні (поки що). Тільки GitHub та GitLab.
Чи можна використовувати інші LLM (ChatGPT, Claude)?¶
Ні (в MVP). Підтримка інших LLM планується в майбутніх версіях.
Чи безпечно передавати код до Google API?¶
Важливо знати:
- Код передається до Google Gemini API для аналізу
- Ознайомтесь з Google AI Terms
- Для sensitive проєктів розгляньте self-hosted рішення (у майбутніх версіях)
Скільки коштує?¶
Gemini Flash pricing:
| Метрика | Вартість |
|---|---|
| Input tokens | $0.075 / 1M |
| Output tokens | $0.30 / 1M |
Приблизно: ~1000 reviews = ~$1
Free tier: ~100 reviews/день безкоштовно.
Як відключити review для певних файлів?¶
Поки що немає .ai-reviewerignore. Планується в майбутніх версіях.
Workaround: фільтруйте в workflow:
Чи можна запустити локально?¶
Так:
pip install ai-reviewbot
export AI_REVIEWER_GOOGLE_API_KEY=your_key
export AI_REVIEWER_GITHUB_TOKEN=your_token
ai-review --provider github --repo owner/repo --pr 123
Debugging¶
Увімкнути verbose логи¶
Перевірити конфігурацію¶
# Перевірте що змінні встановлені
echo $AI_REVIEWER_GOOGLE_API_KEY | head -c 10
echo $GITHUB_TOKEN | head -c 10
Тестовий запуск API¶
# Перевірити Gemini API
curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=$AI_REVIEWER_GOOGLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"Hello"}]}]}'
Отримати допомогу¶
Якщо проблема не вирішена:
GitHub Issues — для багів
GitHub Discussions — для питань
При створенні issue додайте:
- Версію AI Code Reviewer (
ai-review --version) - CI провайдер (GitHub/GitLab)
- Логи (з прихованими секретами!)
- Кроки для відтворення