modify some ideas

This commit is contained in:
Raykov-MS 2026-03-05 16:43:54 +03:00
parent 320cbbb5c3
commit aff5d95d74
2 changed files with 12 additions and 0 deletions

View File

@ -43,6 +43,7 @@ python -m uvicorn main:app --host 0.0.0.0 --port 8080 --reload --env-file .env
- `REMINDER_TIME` - необязательно, по умолчанию `09:00`
- `AUTO_ASSIGNED_LABEL` - необязательно, по умолчанию `auto-assigned`
- `AUTO_ASSIGN_REVIEWERS_COUNT` - необязательно, по умолчанию `2` (сколько ревьюеров назначать автоматически)
- `AUTO_ASSIGN_EXCLUDED_AUTHORS` - необязательно, CSV логинов Gitea; для этих авторов автоназначение и auto-label на `PR opened` не выполняются
- `APPROVALS_REQUIRED_FOR_MERGE` - необязательно, по умолчанию `2` (порог approve для сообщения "можно мерджить")
- `NOTIFY_ON_WEEKENDS` - необязательно, по умолчанию `true`; если `false`, бот не отправляет ЛС в субботу и воскресенье (МСК)
- `ALLOW_SELF_ASSIGN` - необязательно, по умолчанию `false` (для локального теста можно `true`)

11
main.py
View File

@ -46,6 +46,11 @@ GITEA_COUNT_REPOS = {
for v in os.getenv("GITEA_COUNT_REPOS", "").split(",")
if v.strip()
}
AUTO_ASSIGN_EXCLUDED_AUTHORS = {
v.strip().lower()
for v in os.getenv("AUTO_ASSIGN_EXCLUDED_AUTHORS", "").split(",")
if v.strip()
}
NOTIFY_ON_WEEKENDS = os.getenv("NOTIFY_ON_WEEKENDS", "true").lower() == "true"
MSK_TZ = timezone(timedelta(hours=3))
@ -774,6 +779,12 @@ async def handle_pr_opened(payload: dict[str, Any]) -> None:
if not repo_full_name or not pr_number or not author_login:
return
if author_login.lower() in AUTO_ASSIGN_EXCLUDED_AUTHORS:
log_info(
f"[assign] Автоназначение отключено для автора {author_login} "
f"в {repo_full_name}#{pr_number}."
)
return
# В зависимости от версии Gitea ручные ревьюеры могут приходить как
# в requested_reviewers, так и в reviewers.
existing_reviewer_logins = extract_reviewer_logins_from_pull_request(pull_request)