ReviewBot/README.md
2026-02-25 10:46:00 +03:00

41 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CodeReview Bot (MVP)
Реализовано в текущем MVP:
- Регистрация в Telegram: `/register <git_email> <gitea_login>`
- Период недоступности: `/away <YYYY-MM-DD> <YYYY-MM-DD>`
- Webhook Gitea по PR:
- при создании PR без ревьюера бот назначает доступного участника с минимальной нагрузкой
- ставит метку `auto-assigned` (best effort)
- отправляет уведомление назначенному ревьюеру в личные сообщения Telegram
- Ежедневное напоминание в общее время `REMINDER_TIME` (по умолчанию `09:00`)
- Техническая проверка сервиса: `GET /health`
## Запуск
```bash
python -m venv .venv
. .venv/Scripts/activate
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8080 --reload
```
## Переменные окружения
- `TELEGRAM_BOT_TOKEN` - обязательно
- `GITEA_BASE_URL` - обязательно для назначения ревьюера, например `https://git.example.com`
- `GITEA_TOKEN` - обязательно для назначения/меток
- `GITEA_WEBHOOK_SECRET` - необязательно, но рекомендуется
- `REMINDER_TIME` - необязательно, по умолчанию `09:00`
- `AUTO_ASSIGNED_LABEL` - необязательно, по умолчанию `auto-assigned`
- `ALLOW_SELF_ASSIGN` - необязательно, по умолчанию `false` (для локального теста можно `true`)
- `BOT_DB_PATH` - необязательно, по умолчанию `botreviewer.sqlite3`
## Webhook-эндпоинты
- Обновления Telegram: `POST /telegram/webhook`
- Webhook Gitea: `POST /gitea/webhook`
Для Telegram укажите URL вашего сервиса с путем `/telegram/webhook`.
Для Gitea включите события `pull_request` и задайте общий секрет.