Jira und GitLab verbinden

Nutzen Sie Jira als Tracker und GitLab für den Code, auch mit Boards mit deutschen Spaltennamen.

Viele Teams planen in Jira und halten ihren Code in GitLab. kanman unterstützt diese Kombination: Stories kommen aus einem Jira-Projekt, Codeänderungen gehen als Merge Requests nach GitLab, und GitLab-Pipelines zählen im Outcome-Gate als CI.

Sie können Jira auch mit GitHub-Code kombinieren oder GitLab-Issues als Tracker nutzen. Die Regeln unten sind dieselben.

Ein Team, das auf seinem eigenen kanman-Board begonnen hat, kann Jira, GitHub oder GitLab später verbinden und seine vorhandenen Stories verknüpfen, statt sie zu kopieren. Siehe kanman ohne Tracker nutzen.

Jira

Was kanman mit Jira tut

Bereich Was passiert
Issues kanman spiegelt die Issues eines Jira-Projekts, die das Übernahme-Label tragen (standardmäßig kanman). Das Jira-Projekt bleibt die maßgebliche Quelle.
Aufgreifen Ein Issue wird aufgegriffen, wenn es das Übernahme-Label hat und in einem Status liegt, der der Rolle Ready zugeordnet ist.
Aufnahme Freigegebene Stories werden als Jira-Issues vom Typ Task mit dem Übernahme-Label angelegt.
Übergänge kanman bewegt Issues durch Ihren Workflow, wenn ein Run startet, Review erreicht oder gemergt wird.
Kommentare Das Nachweispaket erscheint als ein Kommentar am Issue; der Pull Request wird als Link ergänzt.

Der kanman-Benutzer

kanman handelt in Jira als normaler Benutzer, sodass Sie in der Jira-Historie sehen, was es getan hat. Wir empfehlen ein eigenes Jira-Konto, zum Beispiel [email protected] mit dem Anzeigenamen “kanman”, mit Zugriff auf das Projekt und den Rechten, Issues anzuzeigen, anzulegen, zu bearbeiten, zu überführen und zu kommentieren.

Verbinden

Inhaber und Admins des Workspaces verbinden Jira unter Workspace-Einstellungen > Verbindungen auf der Karte Tracker (siehe Verbindungen). Auch die Team-Einrichtung führt dorthin: Jira verbinden im ersten Schritt öffnet die Seite, und Team-Einrichtung fortsetzen bringt Sie mit Ihren bisherigen Angaben zurück.

Klicken Sie auf der Karte Tracker auf Jira verbinden (oder Jira-Site hinzufügen für eine weitere Site). Das Formular öffnet sich in einem Fenster:

  1. Wählen Sie, wo Ihr Jira läuft:
    • Jira Cloud: Ihre Site-URL, zum Beispiel https://acme.atlassian.net, die E-Mail-Adresse des kanman-Benutzers und ein API-Token dieses Benutzers. Das Token erstellen Sie im Atlassian-Konto unter Sicherheit > API-Token.
    • Jira Server oder Data Center: die Adresse Ihres Jira, zum Beispiel https://jira.acme.de, und ein persönliches Zugriffstoken des kanman-Benutzers, erstellt im Jira-Profil unter Persönliche Zugriffstoken.
  2. Wählen Sie Verbindung testen. kanman meldet sich mit dem Token an und zeigt das Konto, mit dem es handeln wird.
  3. Wählen Sie Verbindung speichern. Das Token wird verschlüsselt gespeichert und nie wieder angezeigt. Um es zu ersetzen, speichern Sie das Formular erneut.

Ihr Jira muss über https aus dem Internet erreichbar sein.

Wenn Sie ein Team auf dieser Verbindung einrichten, schlägt der Schritt Projekt und Repositories die Projekte Ihres Jira vor. Wählen Sie den Projektschlüssel, dann liest kanman die Workflow-Status des Projekts und übernimmt sie als Spalten des Teams. Der nächste Schritt ordnet sie den Rollen zu.

Das Formular Jira verbinden mit Jira Cloud, Site-URL, E-Mail und API-Token und einem erfolgreichen Verbindungstest

Änderungen in Jira erreichen kanman innerhalb weniger Minuten. Für sofortige Aktualisierungen legt eine Jira-Administratorin oder ein Administrator unter System > WebHooks einen Webhook für Issue- und Kommentar-Ereignisse an, mit der URL und dem Secret, die Sie von kanman erhalten. kanman weist Zustellungen ohne gültige Signatur ab.

Status den Spaltenrollen zuordnen

Jira-Status unterscheiden sich je Projekt. Im Schritt Spalten der Team-Einrichtung (später auf der Karte Tracker unter Repositories und Tracker in den Team-Einstellungen) ordnen Sie jeden Status einer der Rollen von kanman zu. kanman schlägt eine Zuordnung anhand der Statusnamen vor (Rollen vorschlagen in den Team-Einstellungen). Die Einstellungen zeigen die Zuordnung als Diagramm: jeden Jira-Status mit einem Pfeil zum Schritt von kanman, zu dem er führt, und daneben kanmans Schritte mit der Zahl der Status, die dorthin führen; ein Schritt, zu dem kein Status führt, trägt eine Warnung.

Boards mit deutschen Statusnamen werden standardmäßig so zugeordnet:

Jira-Status kanman-Rolle
Backlog backlog
Verfeinerung refining
Bereit ready
In Arbeit in_progress
QS review
Fertig done

Weitere gängige Namen werden ebenfalls erkannt, zum Beispiel “Zu erledigen” (backlog), “Bereit zur Entwicklung” (ready), “In Prüfung” (review) und “Erledigt” (done). Prüfen Sie den Vorschlag, bevor Sie bestätigen. Ein Status ohne Rolle bleibt unberührt: kanman verschiebt nie ein Issue in ihn hinein.

Hinweis

kanman nutzt nur Übergänge, die es in Ihrem Jira-Workflow gibt. Führt kein Übergang vom aktuellen Status in einen Status der gewünschten Rolle, wird die Verschiebung nicht nach Jira gespiegelt, und der fehlgeschlagene Tracker-Schreibvorgang erscheint im Audit-Log. Ergänzen Sie den Übergang in Ihrem Workflow.

Spalten-Schritt mit den deutschen Jira-Status Backlog, Verfeinerung, Bereit, In Arbeit, QS und Fertig, zugeordnet zu kanman-Rollen

GitLab

Was kanman mit GitLab tut

Bereich Was passiert
Code kanman klont das Projekt, arbeitet pro Run auf einem eigenen Branch und pusht ihn.
Merge Requests Ein Merge Request pro Story, mit dem Nachweispaket als Kommentar.
CI GitLab-Pipelines am Merge Request zählen im Outcome-Gate als CI.
Issues Optional: GitLab-Issues können statt Jira der Tracker sein, mit dem Label kanman als Übernahme-Regel. Status sind Labels, auch Scoped Labels wie workflow::In Arbeit.

Verbinden

Verbinden Sie GitLab unter Workspace-Einstellungen > Verbindungen: Klicken Sie auf der Karte Code in der Zeile GitLab auf Verbinden. Jede Person verbindet ihr eigenes Konto; für die Repositories eines Teams nutzt kanman das Konto der Person, die das Team einrichtet. Ein Fenster bietet zwei Wege:

  • gitlab.com: Wählen Sie gitlab.com verbinden und bestätigen Sie in GitLab, oder nutzen Sie ein Zugriffstoken wie unten beschrieben.
  • Dein eigenes GitLab, oder gitlab.com mit einem Token: Geben Sie die Adresse Ihres GitLab ein, zum Beispiel https://gitlab.acme.de, und ein Zugriffstoken. Für gitlab.com lassen Sie die Adresse leer.

Abbrechen schließt das Fenster, ohne zu verbinden.

In der kanman Cloud muss Ihr GitLab-Server wie Jira über https aus dem Internet erreichbar sein. Ein GitLab, das nur Ihr Netzwerk erreicht, funktioniert mit Alles auf Ihren Runnern ausführen: Klonen, Pushen, Merge Requests und Pipeline-Prüfungen laufen dann auf Ihren Runnern, mit dem eigenen GITLAB_TOKEN und GITLAB_API_URL des Runners.

Das Token kann ein persönliches, ein Gruppen- oder ein Projekt-Zugriffstoken sein. Es braucht den Scope api, damit kanman klonen, die Run-Branches pushen, Merge Requests öffnen und Pipelines lesen kann. Warum nicht nur write_repository: Neben dem Pushen öffnet und aktualisiert kanman Merge Requests, liest ihre Pipelines und Freigaben, beantwortet Review-Threads und merged, wenn dein Team es erlaubt, und GitLab erlaubt das nur mit api. Der Coding-Agent bekommt das Token nie: Er arbeitet auf einer lokalen Kopie, und kanman pusht. Nimm am besten ein Projekt- oder Gruppen-Zugriffstoken mit Ablaufdatum; kanman zeigt Scopes und Ablauf und erinnert dich, bevor es abläuft. Testen prüft das Token, ohne es zu speichern; Verbinden speichert es. Die Zeile GitLab zeigt danach Konto und GitLab-Server, zum Beispiel “Deine Verbindung als kanman auf gitlab.acme.de”.

Repositories wählen

Ist Ihr Tracker Jira, wählen Sie in der Team-Einrichtung im Schritt Projekt und Repositories GitLab als Code-Host. kanman listet die Projekte, die Ihr GitLab-Konto erreicht. Wählen Sie sie aus der Liste oder tippen Sie ihren Pfad, zum Beispiel platform/payments/api; Untergruppen werden unterstützt. Die Repositories des Teams werden als GitLab-Repositories gespeichert, und kanman klont und pusht sie auf Ihrem GitLab-Server.

Weitere Repositories fügen Sie später unter Repositories und Tracker in den Team-Einstellungen hinzu. Neue Repositories nutzen den Code-Host des Teams.

Selbst betriebenes GitLab

kanman arbeitet mit selbst betriebenen GitLab-Instanzen genauso wie mit gitlab.com. Verbinden Sie sich wie oben beschrieben mit einem Zugriffstoken und der Adresse Ihrer Instanz. Ihre Instanz muss über https aus dem Internet erreichbar sein, damit kanman ihre API erreicht und über https klonen kann. Ist sie nur in Ihrem Netz erreichbar, siehe GitLab hinter VPN oder Firewall.

Das Outcome-Gate arbeitet auf Ihrer Instanz genauso: kanman liest das Pipeline-Ergebnis des Merge Requests, setzt den Commit-Status kanman/outcome-gate, veröffentlicht den Nachweis-Kommentar am Merge Request und mergt, wenn Ihre Richtlinie das erlaubt. Links in kanman zeigen auf Ihre Instanz.

Geschützte Branches und Freigaben

Die geschützten Branches und Freigaberegeln für Merge Requests in GitLab gelten für kanman wie für alle anderen. Erlauben Sie Pushes auf kanman/*-Branches und lassen Sie den Ziel-Branch geschützt.

Fehlerbehebung

Symptom Wahrscheinliche Ursache
Issues in Ready werden nicht aufgegriffen Ihnen fehlt das Übernahme-Label, oder ihr Status ist nicht der Rolle Ready zugeordnet. Prüfen Sie Übernahme ansehen auf der Einstellungsseite Repositories und Tracker des Teams.
Eine Verschiebung erscheint nicht in Jira Ihr Jira-Workflow hat keinen Übergang zwischen den beiden Status. Das Audit-Log zeigt den fehlgeschlagenen Tracker-Schreibvorgang.
Änderungen aus Jira dauern einige Minuten Es ist kein Webhook eingerichtet. Nutzen Sie Jetzt synchronisieren auf der Einstellungsseite Repositories und Tracker des Teams, oder fragen Sie nach den Webhook-Daten.
Ein Run wartet auf die CI Für Merge Requests läuft keine Pipeline. Prüfen Sie die Einstellungen rules oder only in .gitlab-ci.yml.
Verbindung testen meldet, dass Jira nicht erreichbar ist Die Adresse ist falsch, nicht https, oder Ihr Jira ist nur im Firmennetz erreichbar.
GitLab meldet, dass das Token den Scope api braucht Das Token hat nur Lesezugriff. Erstellen Sie ein neues Token mit dem Scope api.

Zuletzt aktualisiert: January 1, 0001

kanman öffnen