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.