MR-Erfolgs-Tracking: GitLab-Polling für MR-Outcomes implementieren #16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Die Felder
mr_reviewed_at,mr_outcomeundmr_comments_countsind im Ticket-Model definiert, werden aber nie befüllt. Es fehlt ein Mechanismus (GitLab-Polling oder Webhook), der den Status erstellter MRs zurück in die DB schreibt.Hintergrund
Ohne MR-Tracking ist unklar:
Die Stats-Berechnung in
/api/statsexistiert bereits (success_rate,mrs_approved), aber die Daten fehlen. Die PROJEKT-SPEC.md beschreibt dies in Phase 4.1.Akzeptanzkriterien
mr_outcomewird korrekt gesetzt:approved/changes_requested/closedmr_reviewed_atwird auf den Zeitpunkt des letzten Review-Events gesetztmr_comments_countzählt die Review-Kommentare auf dem MRTicketResponsePydantic-Model enthält die MR-Tracking-Felder/api/statszeigt korrekte Trefferquote basierend auf echten DatenTechnische Hinweise
backend/services/gitlab_service.py(neue Methodesync_mr_outcomes())backend/main.py(neuer Scheduled Jobpoll_mr_outcomes_job)backend/api/tickets.py(TicketResponse erweitern)frontend/src/pages/TicketDetail.tsx(MR-Status anzeigen)frontend/src/components/TicketCard.tsx(MR-Badge)project.mergerequests.get(mr_iid)für jeden offenen MR, Status + Notes abfragenAufwand: M
David referenced this issue2026-03-30 20:27:56 +00:00
Superseded by #90 (MR-Outcome-Tracking & Scoring-Kalibrierung). GitLab-Polling für MR-Outcomes ist dort vollständig abgedeckt.