2.0 KiB
2.0 KiB
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
Запуск
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.comGITEA_TOKEN- обязательно для назначения/метокGITEA_WEBHOOK_SECRET- необязательно, но рекомендуетсяREMINDER_TIME- необязательно, по умолчанию09:00AUTO_ASSIGNED_LABEL- необязательно, по умолчаниюauto-assignedALLOW_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 и задайте общий секрет.