Teilen über


Verbinden eines Azure DevOps Servers mit GitHub (lokal)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Wenn Sie Ihr Azure DevOps Server-Projekt mit Ihren GitHub-Repositorys verbinden, unterstützen Sie die Verknüpfung von GitHub-Commits und -Pull Requests mit Arbeitselementen. Sie können GitHub für die Softwareentwicklung verwenden, während Sie Azure Boards zum Planen und Nachverfolgen Ihrer Arbeit nutzen.

Hinweis

Lokal installierte Azure DevOps Server 2020-Instanzen unterstützen die Integration in GitHub.com- und GitHub Enterprise Server-Repositories. Wenn Sie eine Verbindung von Azure DevOps Services aus herstellen möchten, finden Sie weitere Informationen unter Verbinden von Azure Boards mit GitHub.

Voraussetzungen

Kategorie Anforderungen
Berechtigungen - Mitglied der Gruppe Projektsammlungsadministratorenund der Gruppe Mitwirkende des Projekts. Wenn Sie das Projekt erstellt haben, verfügen Sie über Berechtigungen.
- Administrator des GitHub Enterprise Server, mit dem Sie eine Verbindung herstellen.
Projektmitgliedschaft Projektmitglied.
Integration mit GitHub – Azure DevOps Server 2020.1.1 Patch 2. Ohne diesen Patch können Sie sich nur mit Ihren GitHub Enterprise Server-Repositorys verbinden.
- Azure Boards-App für GitHub muss für die GitHub-Organisationen oder das GitHub-Konto installiert sein.

Authentifizierungsoptionen

Es stehen folgende Authentifizierungsoptionen zur Verfügung:

Hinweis

OAuth wird für Azure DevOps Server 2020 nicht unterstützt.

Verbinden von Azure DevOps Server mit GitHub Enterprise Server

Sie können bis zu 250 GitHub-Repositorys mit einem Azure Boards-Projekt verbinden.

Hinweis

Für die Verbindung mit mehr als 100 GitHub-Repositorys müssen Sie Azure DevOps Server 2020.1 oder höher verwenden.
Für die Verbindungsherstellung mit GitHub.com-Repositorys wird Azure DevOps Server 2020.1.1 Patch 2 oder höher benötigt.

  1. Öffnen Sie das Webportal für Ihre Azure DevOps Server-Instanz.

  2. Wählen Sie das Azure DevOps-Logo , um die Projekte zu öffnen, und wählen Sie dann das Azure Boards-Projekt aus, das Sie für die Verbindung mit Ihren GitHub Enterprise-Repositorys konfigurieren möchten.

  1. Wählen Sie „Projekteinstellungen>GitHub-Verbindungen“ aus.

    Screenshot: Öffnen von „Projekteinstellungen>GitHub-Verbindungen“

  2. Wenn Sie zum ersten Mal eine Verbindung über das Projekt herstellen, wählen Sie die Authentifizierungsmethode aus, die Sie für die Verbindungsherstellung verwenden möchten:

    Screenshot: Erste Verbindung mit GitHub-Anmeldeinformationen

    Wählen Sie andernfalls Neue Verbindung und im Dialogfeld Neue Verbindung Ihre Authentifizierungsmethode aus.

Mit einem persönlichen Zugriffstoken verbinden

  1. Informationen zum Erstellen eines persönlichen Zugriffstokens finden Sie unter Erstellen eines persönlichen Zugriffstokens.

    Tipp

    Achten Sie beim Erstellen Ihres persönlichen Zugriffstokens für GitHub darauf, dass Sie die folgenden Bereiche einschließen: repo, admin:repo_hook, read:user, user:email.

  2. Geben Sie die URL für Ihren GitHub Enterprise Server und die Zugangsdaten für das persönliche Zugriffstoken ein, die von diesem Server erkannt werden. Wählen Sie dann Verbinden aus.

Screenshot der Anmeldung mit PAT.

Herstellen einer Verbindung mithilfe der GitHub-Anmeldeinformationen

  1. Geben Sie die URL für Ihren GitHub Enterprise Server und die Administrator-Kontoanmeldeinformationen ein, die von diesem Server erkannt werden. Wählen Sie dann Verbinden aus.

Screenshot der Anmeldung mit GitHub-Anmeldeinformationen.

  1. Im Dialogfeld werden alle Repositorys aufgelistet, für die Sie über GitHub-Verwaltungsrechte verfügen. Sie können zwischen Meine und Alle umschalten, um festzustellen, ob andere Elemente angezeigt werden, und dann diejenigen auswählen, die Sie hinzufügen möchten. Wählen Sie Speichern aus, wenn Sie fertig sind.

    Screenshot der Repositorys, die zum Hinzufügen ausgewählt werden sollen.

  2. Wenn Sie zum ersten Mal eine Verbindung mit GitHub-Konten oder -organisationen über Azure Boards herstellen, installieren Sie auch die Azure Boards-App für GitHub. Schließen Sie die Integration ab, indem Sie die unter Bestätigen der Verbindung beschriebenen Verfahren befolgen.

Beheben von Verbindungsproblemen

Bei der Azure Boards-GitHub-Integration werden verschiedene Authentifizierungsprotokolle verwendet, um die Verbindung zu unterstützen. Änderungen am Berechtigungsumfang oder an den Authentifizierungsdaten der Benutzer*innen können dazu führen, dass die mit Azure Boards verbundenen GitHub Repositorys gesperrt werden.

Eine Übersicht über die von der Azure Boards-App für GitHub unterstützte Integration finden Sie unter Azure Boards-GitHub-Integration.

Unterstützte Authentifizierungsoptionen

Je nachdem, mit welcher GitHub-Plattform Sie die Verbindung herstellen möchten, werden die folgenden Authentifizierungsoptionen unterstützt.

Plattform

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

  • GitHub.com-Benutzerkonto
  • Persönliches Zugriffstoken (Personal Access Token, PAT)
  • OAuth
  • PAT
  • GitHub-Anmeldeinformationen

Azure DevOps Server 2020

Nicht zutreffend

  • PAT
  • GitHub-Anmeldeinformationen

Azure DevOps Server 2019

Nicht zutreffend

  • OAuth
  • PAT
  • GitHub-Anmeldeinformationen

Hinweis

Mit der Azure Boards-App für GitHub werden Azure Boards und Azure DevOps Services mit GitHub.com- und GitHub Enterprise Server-Repositorys integriert. Azure DevOps Server 2019 und spätere Versionen unterstützen nur die Integration mit GitHub Enterprise Server-Repositorys. Die Integration mit anderen Git-Repositorys wird nicht unterstützt.

Beheben von Probleme beim Zugriff

Wenn die Azure Boards-Verbindung mit GitHub keinen Zugriff mehr hat, wird in der Benutzeroberfläche ein Warnstatus mit einem roten X angezeigt. Wenn Sie den Mauszeiger über die Warnmeldung bewegen, wird angezeigt, dass die Anmeldeinformationen nicht mehr gültig sind. Entfernen Sie zum Beheben des Problems die Verbindung, und stellen Sie eine neue Verbindung her.

Screenshot der fehlerhaften Verbindung

Beachten Sie die folgenden Beschlüsse:

  • Wenn die Verbindung OAuth verwendet:

    • Der Azure Boards-Anwendung wurde der Zugriff auf eines der Repositorys verweigert.

    • GitHub ist möglicherweise nicht verfügbar/nicht erreichbar. Diese Nichtverfügbarkeit könnte auf einen Dienstausfall oder auf ein Problem mit der lokalen Infrastruktur bzw. dem lokalen Netzwerk zurückzuführen sein. Sie können den Dienststatus über die folgenden Links überprüfen:

      Löschen Sie die Verbindung mit dem GitHub-Repository und stellen Sie sie neu her. Durch diese neu erstellte Verbindung fordert GitHub Sie zur erneuten Autorisierung von Azure Boards auf.

  • Wenn die Verbindung ein PAT verwendet:

    • Der PAT wurde widerrufen oder die erforderlichen Berechtigungsbereiche wurden geändert und sind nicht mehr ausreichend.

    • Der Benutzer hat möglicherweise Administratorberechtigungen für das GitHub-Repository verloren.

      Erstellen Sie das persönliche Zugriffstoken (PAT) neu und stellen Sie sicher, dass der Gültigkeitsbereich für das Token die erforderlichen Berechtigungen enthält: repo, read:user, user:email, admin:repo_hook. Weitere Informationen finden Sie unter Bewährte Methoden für die Verwendung von PATs.

Aktualisieren von XML-Definitionen für ausgewählte Arbeitselementtypen

Wenn Ihre Organisation die Arbeitsnachverfolgung mithilfe des gehosteten XML- oder lokalen XML-Prozessmodells anpasst und GitHub-Linktypen in den Abschnitt "Entwicklung" von Arbeitsaufgabenformularen integrieren möchte, müssen Sie die XML-Definitionen für die entsprechenden Arbeitsaufgabentypen aktualisieren.

Um z. B. Benutzergeschichten und Fehler mit GitHub zu verknüpfen und Anforderungen im Abschnitt "Entwicklung von Arbeitsaufgabenformularen" abzurufen, müssen Sie die XML-Definitionen für diese Arbeitsaufgabentypen aktualisieren.

Um die XML-Definitionen zu ändern, führen Sie die schritte aus, die im Gehosteten XML-Prozessmodell beschrieben sind. Für jeden Arbeitsaufgabentyp:

  1. Machen Sie den Abschnitt Group Label="Development" ausfindig.
  2. Um die externen Linktypen zu unterstützen, fügen Sie gitHub Commit und GitHub Pull Request die folgenden Codezeilen hinzu:

Diese Integration ermöglicht eine nahtlose Nachverfolgung von GitHub-Aktivitäten direkt aus Ihren Arbeitsaufgaben in Azure Boards.

             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  

Nach der Aktualisierung sollte der Abschnitt folgendermaßen aussehen.

<Group Label="Development">  
   <Control Type="LinksControl" Name="Development">  
      <LinksControlOptions ViewMode="Dynamic" ZeroDataExperience="Development" ShowCallToAction="true">  
         <ListViewOptions GroupLinks="false">   
         </ListViewOptions>  
         <LinkFilters>  
             <ExternalLinkFilter Type="Build" />  
             <ExternalLinkFilter Type="Integrated in build" />  
             <ExternalLinkFilter Type="Pull Request" />  
             <ExternalLinkFilter Type="Branch" />  
             <ExternalLinkFilter Type="Fixed in Commit" />  
             <ExternalLinkFilter Type="Fixed in Changeset" />  
             <ExternalLinkFilter Type="Source Code File" />  
             <ExternalLinkFilter Type="Found in build" />  
             <ExternalLinkFilter Type="GitHub Pull Request" />  
             <ExternalLinkFilter Type="GitHub Commit" />  
         </LinkFilters>  
      </LinksControlOptions>  
   </Control>  
</Group>  

Nächste Schritte