feat(feedback): konfigurierbare Issue-Labels via GITEA_FEEDBACK_LABELS

Dev-Container setzt GITEA_FEEDBACK_LABELS=feedback,dev, damit
Feedback-Issues aus gwoe-dev.toppyr.de unterscheidbar markiert werden.
Label-Farben: feedback rot, dev gelb, Sonst grau.

Teil der Container-Duplikation fuer v1.x-Entwicklung.
This commit is contained in:
Dotty Dotter 2026-04-28 01:31:25 +02:00
parent 4b03448e29
commit 6d587c1f3a
2 changed files with 12 additions and 3 deletions

View File

@ -61,6 +61,9 @@ class Settings(BaseSettings):
gitea_api_url: str = "https://repo.toppyr.de/api/v1"
gitea_repo_owner: str = "tobias"
gitea_repo_name: str = "gwoe-antragspruefer"
# Komma-getrennte Liste zusätzlicher Labels, die Feedback-Issues bekommen.
# Auf Dev: "feedback,dev" — damit Issues aus gwoe-dev.toppyr.de unterscheidbar sind.
gitea_feedback_labels: str = "feedback"
model_config = {"env_file": ".env", "env_file_encoding": "utf-8"}

View File

@ -2732,9 +2732,15 @@ async def submit_feedback(
headers = {"Authorization": f"token {token}", "Content-Type": "application/json"}
async with httpx.AsyncClient(timeout=15.0) as session:
# Label sicherstellen
label_id = await _gitea_ensure_label(session, base_url, owner, repo, token, "feedback")
label_ids = [label_id] if label_id else []
# Konfigurierbare Label-Liste (Default "feedback"; Dev setzt "feedback,dev")
label_names = [s.strip() for s in (settings.gitea_feedback_labels or "feedback").split(",") if s.strip()]
label_color_map = {"feedback": "#e11d48", "dev": "#f59e0b"}
label_ids: list[int] = []
for name in label_names:
color = label_color_map.get(name, "#6b7280")
lid = await _gitea_ensure_label(session, base_url, owner, repo, token, name, color)
if lid:
label_ids.append(lid)
# Issue anlegen
payload = {