GitHub verbinden

Verbinde GitHub, damit kanman Stories aus GitHub Issues liest, Pull Requests öffnet und deiner CI folgt.

GitHub ist die umfassendste Integration von kanman. Eine Verbindung deckt beide Seiten der Arbeit ab: GitHub Issues als Tracker und das Repository, in dem kanman Pull Requests öffnet und auf deine CI wartet.

Was kanman mit GitHub tut

Bereich Was passiert
Issues kanman spiegelt die Issues des Tracker-Repositorys, die das Übernahme-Label tragen (standardmäßig kanman). Freigegebene Stories aus der Aufnahme werden als Issues mit diesem Label angelegt.
Aufgreifen Ein Issue wird aufgegriffen, wenn es das Übernahme-Label hat und im Status mit der Rolle Ready liegt.
Branches Jeder Run arbeitet auf einem eigenen Branch, zum Beispiel kanman/sbx-12-export-invoices.
Pull Requests Ein Pull Request pro Story gegen einen Branch, den dein Team erlaubt hat.
CI kanman liest Check Runs und Commit-Status. Deine CI entscheidet, ob eine Änderung funktioniert, siehe Wie kanman seine Arbeit prüft.

kanman löscht keine Repositories, keine Branches, die es nicht selbst angelegt hat, und keine Issues.

Verbinden

GitHub wird einmal für den Workspace verbunden, von einem Inhaber oder Admin. Jedes Team nutzt diese Verbindung für seine Repositories.

  1. Öffne in kanman Workspace-Einstellungen > Verbindungen und öffne GitHub (im Schritt Tracker der Team-Einrichtung können Inhaber und Admins auch auf der GitHub-Karte auf Verbinden klicken). Die ganze Seite beschreibt Verbindungen.
  2. Klicke auf GitHub verbinden, wähle unter Wie kanman sich anmeldet Anmelden und speichere.
  3. Klicke auf Autorisieren. GitHub öffnet sich; prüfe den angefragten Zugriff und klicke auf Authorize. Schränkt deine Organisation den Zugriff von Drittanbietern ein, muss eine Organisations-Ownerin oder ein Owner kanman für die Organisation freigeben.
  4. GitHub leitet dich zu kanman zurück, und die Verbindung zeigt Autorisiert als mit dem GitHub-Konto, das du genutzt hast.

kanman erreicht die Repositories, die dieses Konto erreicht; in kanman schränkst du das pro Team auf die Repositories im Reiter Team ein. Für GitHub Enterprise Server gibst du statt der Anmeldung die Adresse des Servers und ein Token ein.

Tipp

Melde dich mit einem Konto an, das nur Zugriff auf die Repositories hat, die deine Teams brauchen, zum Beispiel einen eigenen Maschinen-Benutzer. Ein Zugriff, den das Konto nie hat, kann auch nicht missbraucht werden.

Berechtigungen

GitHub zeigt die angefragten Scopes, bevor du bestätigst. kanman fragt nach:

Scope Wozu
repo Repositories klonen, den Branch des Runs pushen, Issues spiegeln und anlegen, Pull Requests öffnen und kommentieren, Checks und Commit-Status lesen
workflow Branches in Repositories pushen, die GitHub-Actions-Workflows enthalten
read:user Anzeigen, welches Konto verbunden ist

Ohne die kanman GitHub App klonen und pushen Runs mit dem Token der Verbindung. Es wird git als Header übergeben, nie in URLs geschrieben und aus Logs entfernt. Siehe Sandbox und Secrets.

kanman GitHub App

Ist die kanman GitHub App installiert, arbeiten Runs nicht mehr mit deiner persönlichen Verbindung am Code. Für jeden Klon, jeden Push und jeden Pull Request holt kanman bei GitHub ein kurzlebiges Token, das für genau ein Repository gilt, das des Runs, und nach einer Stunde abläuft.

  1. Öffne Workspace-Einstellungen > Verbindungen und öffne GitHub. Die kanman GitHub App steht unter den Verbindungen. Du brauchst Inhaber- oder Admin-Rechte im Workspace.
  2. Klicke auf kanman GitHub App installieren. GitHub öffnet sich.
  3. Wähle die Organisation oder das Konto und die Repositories, an denen kanman arbeiten darf, und bestätige. GitHub bittet dich um eine Anmeldung, damit kanman prüfen kann, dass du die App dort installieren darfst.
  4. GitHub leitet dich zurück zu Workspace-Einstellungen > Verbindungen, und das installierte Konto steht unter den Verbindungen. Bei einem weiteren Konto installieren fügt ein weiteres hinzu.

Die App fragt bei GitHub diese Berechtigungen an:

Berechtigung Wozu
Contents: lesen und schreiben Repository klonen und den Branch des Runs pushen
Pull requests: lesen und schreiben Pull Request öffnen und kommentieren
Issues: lesen und schreiben Issues spiegeln und aktualisieren
Commit statuses: lesen und schreiben Die Commit-Status deiner CI lesen
Checks: lesen Deiner CI folgen
Metadata: lesen Von GitHub für jede App verlangt

Jedes Run-Token bekommt nur diese Berechtigungen, für ein Repository.

Repositories, deren Besitzer die App nicht installiert hat, nutzen weiter deine GitHub-Verbindung. Sagt kanman, dass die App nicht verfügbar ist, nutzen Runs ebenfalls weiter deine GitHub-Verbindung. Um die App nicht mehr zu nutzen, klicke unter den Verbindungen neben dem Konto auf Entfernen; um sie auch auf GitHub zu deinstallieren, öffne in GitHub Settings > Applications > Installed GitHub Apps.

Branch-Schutz und Reviews

Deine Regeln gelten für kanman genauso wie für alle anderen. Verlangt main ein zustimmendes Review und grüne Checks, braucht ein Pull Request von kanman dasselbe. kanman mergt nur, wenn deine CI grün ist und sein unabhängiger Reviewer die Änderung freigegeben hat (siehe Mergen); die Regeln von GitHub gelten zusätzlich, und kanman kann sie nicht umgehen.

Wir empfehlen:

  • Lass den Branch-Schutz auf den Branches aktiv, die kanman ansteuert.
  • Verlange ein zustimmendes Review durch eine Person, wenn dein Team jeden Merge freigeben will. kanman wartet darauf wie jede Kollegin und jeder Kollege.
  • Nutze eine CODEOWNERS-Datei, wenn bestimmte Bereiche bestimmte Reviewer brauchen.
  • Lass die CI verpflichtend. kanman wartet ohnehin darauf, und verpflichtende Checks machen das Ergebnis auch in GitHub sichtbar.

Labels und Status

  • Das Übernahme-Label legst du unter Team > Repositories in der Zeile Tracker fest (Übernahme-Label). Es wird im Repository angelegt, wenn kanman es zum ersten Mal verwendet.
  • GitHub Issues haben kein Statusfeld. kanman nutzt pro zugeordnetem Status ein Label, zum Beispiel Ready oder In Progress. Wenn du eine Karte in kanman verschiebst, tauscht kanman das Status-Label; Done schließt das Issue. Ein geschlossenes Issue ohne Status-Label gilt als Done.
  • Änderungen in GitHub erreichen kanman innerhalb weniger Minuten. Jetzt synchronisieren unter Team > Repositories holt sie sofort, und Übernahme ansehen zeigt, welche Issues kanman gerade aufgreifen würde.

Trennen

Öffne Workspace-Einstellungen > Verbindungen, öffne GitHub, klicke an der Verbindung auf Trennen und bestätige; die Rückfrage sagt, was dann stoppt. Um kanmans Zugriff auch auf GitHub-Seite zu entfernen, widerrufe ihn in GitHub unter Settings > Applications > Authorized OAuth Apps. Teams, die diese Verbindung nutzen, können nicht synchronisieren und keine Runs ausführen, bis du wieder verbindest. Bestehende Issues, Branches und Pull Requests bleiben in GitHub.

Fehlerbehebung

Symptom Wahrscheinliche Ursache
Ein Repository lässt sich nicht nutzen Das verbundene GitHub-Konto hat keinen Zugriff darauf, oder deine Organisation hat kanman nicht freigegeben.
Stories werden nicht in den Tracker geschrieben Issues sind im Repository ausgeschaltet (häufig bei Forks). Schalte sie unter Settings > General > Features ein.
Ein Issue wird nicht aufgegriffen Ihm fehlt das Übernahme-Label, oder sein Status-Label ist nicht der Rolle Ready zugeordnet. Prüfe Übernahme ansehen unter Team > Repositories.
Ein Run wartet endlos auf die CI Auf dem Branch des Runs läuft kein Workflow. Prüfe die on:-Trigger deiner Workflows; sie sollten pull_request enthalten.
kanman kann nicht pushen Branch-Schutzregeln gelten für alle Branches, auch kanman/*. Erlaube Pushes auf kanman/* oder nimm sie von der Regel aus.

Zuletzt aktualisiert: January 1, 0001

kanman öffnen