Dry-Run Modus: Pipeline testen ohne echte MRs zu erstellen #86

Open
opened 2026-03-30 20:21:40 +00:00 by David · 0 comments
Collaborator

Beschreibung

Es gibt keinen Dry-Run Modus um die Pipeline zu testen ohne tatsächlich Branches zu pushen oder MRs in GitLab/Forgejo zu erstellen. Für Testing und Onboarding neuer Repos ist das essenziell.

Hintergrund

Beim Onboarding eines neuen Repos will man testen ob Scoring, Preparation und Claude Runner funktionieren — ohne echte MRs zu erzeugen. Aktuell muss man entweder eine separate GitLab-Instanz nutzen oder MRs manuell wieder schließen.

Akzeptanzkriterien

  • Neuer Query-Parameter: POST /api/tickets/{id}/start-pipeline?dry_run=true
  • Dry-Run führt Scoring, Preparation und Claude Runner aus
  • Dry-Run überspringt: git push, MR-Erstellung, Odoo-Status-Update
  • Ergebnis wird im Pipeline-Log festgehalten mit [DRY-RUN] Prefix
  • Diff wird gespeichert damit man das Ergebnis reviewen kann
  • Frontend: Toggle "Dry Run" im TicketDetail
  • Test: Dry-Run erzeugt keinen Remote-Branch und keine MR

Technische Hinweise

  • Betroffene Dateien: backend/services/pipeline.py, backend/services/claude_runner.py, backend/services/gitlab_service.py
  • Ansatz: dry_run: bool = False Parameter durch Pipeline-Kette durchreichen
  • Migration nötig: nein

Aufwand: M

## Beschreibung Es gibt keinen Dry-Run Modus um die Pipeline zu testen ohne tatsächlich Branches zu pushen oder MRs in GitLab/Forgejo zu erstellen. Für Testing und Onboarding neuer Repos ist das essenziell. ## Hintergrund Beim Onboarding eines neuen Repos will man testen ob Scoring, Preparation und Claude Runner funktionieren — ohne echte MRs zu erzeugen. Aktuell muss man entweder eine separate GitLab-Instanz nutzen oder MRs manuell wieder schließen. ## Akzeptanzkriterien - [ ] Neuer Query-Parameter: `POST /api/tickets/{id}/start-pipeline?dry_run=true` - [ ] Dry-Run führt Scoring, Preparation und Claude Runner aus - [ ] Dry-Run überspringt: git push, MR-Erstellung, Odoo-Status-Update - [ ] Ergebnis wird im Pipeline-Log festgehalten mit `[DRY-RUN]` Prefix - [ ] Diff wird gespeichert damit man das Ergebnis reviewen kann - [ ] Frontend: Toggle "Dry Run" im TicketDetail - [ ] Test: Dry-Run erzeugt keinen Remote-Branch und keine MR ## Technische Hinweise - Betroffene Dateien: `backend/services/pipeline.py`, `backend/services/claude_runner.py`, `backend/services/gitlab_service.py` - Ansatz: `dry_run: bool = False` Parameter durch Pipeline-Kette durchreichen - Migration nötig: nein ## Aufwand: M
Sign in to join this conversation.
No description provided.