Skip to content
Diese Seite wurde mit KI-Unterstützung erstellt und übersetzt. Falls Ihnen Ungenauigkeiten auffallen, helfen Sie gerne bei der Verbesserung. Auf GitHub bearbeiten

Workflow-Zustände

Jedes Issue in OpenPR hat einen Zustand, der seine Position im Workflow repräsentiert. Die Kanban-Board-Spalten werden direkt diesen Zuständen zugeordnet.

OpenPR wird mit vier Standardzuständen ausgeliefert, unterstützt aber vollständig benutzerdefinierte Workflow-Zustände durch ein 3-Ebenen-Auflösungssystem. Sie können verschiedene Workflows pro Projekt, pro Arbeitsbereich oder die Systemstandards verwenden.

Standardzustände

mermaid
graph LR
    BL["Backlog"] --> TD["Zu tun"]
    TD --> IP["In Bearbeitung"]
    IP --> DN["Erledigt"]

    IP -.->|"blockiert"| TD
    DN -.->|"wiedereröffnet"| IP
    BL -.->|"priorisiert"| IP
ZustandWertBeschreibung
BacklogbacklogIdeen, zukünftige Arbeit und ungeplante Elemente. Noch nicht geplant.
Zu tuntodoGeplant und priorisiert. Bereit zur Aufnahme.
In Bearbeitungin_progressWird aktiv von einem Bearbeiter bearbeitet.
ErledigtdoneAbgeschlossen und verifiziert.

Dies sind die eingebauten Zustände, mit denen jeder neue Arbeitsbereich beginnt. Sie können diese anpassen oder zusätzliche Zustände hinzufügen, wie unten unter Benutzerdefinierte Workflows beschrieben.

Zustandsübergänge

OpenPR erlaubt flexible Zustandsübergänge. Es gibt keine erzwungenen Einschränkungen -- jeder Zustand kann zu jedem anderen übergehen. Häufige Muster sind:

ÜbergangAuslöserBeispiel
Backlog -> Zu tunSprint-Planung, PriorisierungIssue in kommenden Sprint gezogen
Zu tun -> In BearbeitungEntwickler nimmt Arbeit aufBearbeiter beginnt Implementierung
In Bearbeitung -> ErledigtArbeit abgeschlossenPull Request zusammengeführt
In Bearbeitung -> Zu tunArbeit blockiert oder pausiertWarten auf externe Abhängigkeit
Erledigt -> In BearbeitungIssue wiedereröffnetBug-Regression entdeckt
Backlog -> In BearbeitungDringender HotfixKritisches Produktionsproblem

Benutzerdefinierte Workflows

OpenPR unterstützt benutzerdefinierte Workflow-Zustände durch ein 3-Ebenen-Auflösungs-System. Wenn die API einen Zustand für ein Work Item validiert, löst sie den effektiven Workflow auf, indem drei Ebenen der Reihe nach geprüft werden:

Projekt-Workflow  >  Arbeitsbereichs-Workflow  >  Systemstandards

Wenn ein Projekt seinen eigenen Workflow definiert, hat dieser Vorrang. Andernfalls wird der Arbeitsbereichs-Workflow verwendet. Wenn keiner existiert, gelten die vier Systemstandard-Zustände.

Benutzerdefinierten Workflow über API erstellen

Schritt 1 -- Einen Workflow für ein Projekt erstellen:

bash
curl -X POST http://localhost:8080/api/workflows \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "name": "Engineering Flow",
    "project_id": "<project_uuid>"
  }'

Schritt 2 -- Zustände zum Workflow hinzufügen:

bash
curl -X POST http://localhost:8080/api/workflows/<workflow_id>/states \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "key": "in_review",
    "display_name": "Im Review",
    "category": "active",
    "position": 3,
    "color": "#f59e0b",
    "is_initial": false,
    "is_terminal": false
  }'

Beispiel: 6-Zustands-Engineering-Workflow

mermaid
graph LR
    BL["Backlog"] --> TD["Zu tun"]
    TD --> IP["In Bearbeitung"]
    IP --> IR["Im Review"]
    IR --> QA["QA"]
    QA --> DN["Erledigt"]

    IR -.->|"Änderungen angefordert"| IP
    QA -.->|"fehlgeschlagen"| IP
ZustandSchlüsselKategorieInitialTerminal
Backlogbacklogbacklogjanein
Zu tuntodoplannedneinnein
In Bearbeitungin_progressactiveneinnein
Im Reviewin_reviewactiveneinnein
QAqaactiveneinnein
Erledigtdonecompletedneinja

Kanban-Board

Die Board-Ansicht zeigt Issues als Karten in Spalten entsprechend den Workflow-Zuständen. Eine Karte per Drag-and-Drop zwischen Spalten verschieben, um ihren Zustand zu ändern.

Zustand über API aktualisieren

bash
# Issue zu "in_progress" verschieben
curl -X PATCH http://localhost:8080/api/issues/<issue_id> \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"state": "in_progress"}'

Prioritätsstufen

Zusätzlich zu Zuständen kann jedes Issue eine Prioritätsstufe haben:

PrioritätWertBeschreibung
NiedriglowNice-to-have, kein Zeitdruck
MittelmediumStandardpriorität, geplante Arbeit
HochhighWichtig, sollte bald bearbeitet werden
DringendurgentKritisch, braucht sofortige Aufmerksamkeit

Nächste Schritte

Released under the Apache-2.0 License.