Verbinden von Azure Boards mit GitHub (Cloud)

Azure DevOps Services

Verwenden Sie GitHub.com-Repositorys für Ihre Softwareentwicklung und Ihre Azure Boards zum Planen und Nachverfolgen Ihrer Arbeit. Verbinden Sie Ihr Projekt und Repository, sodass Ihr GitHub committet und Pull Requests mit Ihren Arbeitselementen in Azure Boards verbunden werden.

Hinweis

Azure Boards und Azure DevOps Services unterstützen die Integration mit GitHub.com und GitHub Enterprise Server-Repositorys. Wenn Sie eine Verbindung von einer lokalen Azure DevOps Server-Instanz aus herstellen möchten, lesen Sie Verbinden von Azure DevOps Server mit GitHub Enterprise Server.

Voraussetzungen

  • Projektanforderungen: Verfügen über ein Azure DevOps-Projekt. Wenn Sie noch kein Projekt haben, erstellen Sie eines.

  • Berechtigungen:

    • Mitgliedschaft in der Gruppe Projektadministratoren. Wenn Sie das Projekt erstellt haben, verfügen Sie über Berechtigungen.
    • Eigenschaft als Administrator oder Eigentümer des GitHub-Repositorys sein, mit dem eine Verbindung hergestellt werden soll. Sie können eine Verbindung mit mehreren GitHub-Repositorys herstellen, sofern Sie Admin für diese Repositorys sind.

Authentifizierungsoptionen

Die folgenden Authentifizierungsoptionen werden basierend auf der GitHub-Plattform unterstützt, mit der Sie eine Verbindung herstellen möchten.

GitHub.com

GitHub Enterprise Server

Hinweis

Wenn Sie Github mit einem PAT verbinden möchten, stellen Sie sicher, dass Sie das einmalige Anmelden (Single Sign-On, SSO) für das PAT in Ihrem GitHub-Konto konfigurieren. Diese Konfiguration ist erforderlich, um eine Liste der Repositorys von einer Organisation mit aktivierter SAML-SSO-Authentifizierung (Security Assertion Markup Language) abzurufen.

Verbinden von Azure Boards mit einem GitHub-Repository.

  1. Melden Sie sich bei Ihrem Projekt (https://dev.azure.com/{Your_Organization/Your_Project}).

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

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

  3. Wenn Sie zum ersten Mal eine Verbindung über das Projekt herstellen, wählen Sie Verbindung mit Ihrem GitHub-Konto herstellen aus, um Ihre GitHub-Kontoanmeldeinformationen zu verwenden.

    Screenshot: Erste Verbindung mit GitHub-Anmeldeinformationen

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

    Wenn Sie eine Verbindung mit Ihrem GitHub-Konto herstellen, authentifizieren Sie sich mit Ihren GitHub-Anmeldeinformationen. Zur Verwendung eines PAT siehe Hinzufügen einer GitHub-Verbindung mithilfe von PAT. Zum Herstellen einer Verbindung zu einem GitHub-Enterprise-Server siehe Registrieren von Azure DevOps in GitHub als OAuth-App.

Hinzufügen einer GitHub-Verbindung mit GitHub-Anmeldeinformationen

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

  1. Wenn Sie zum ersten Mal von Azure Boards aus eine Verbindung mit GitHub herstellen, melden Sie sich mit Ihren GitHub-Anmeldeinformationen an. Wählen Sie ein Konto aus, für das Sie Repository-Administrator*in sind.

  2. Wählen Sie das GitHub-Konto oder die Organisation für die Verbindung aus. Nur die Organisationen, deren Eigentümer oder Admin Sie sind, werden aufgeführt.

    Wenn alle Repositorys für eine Organisation bereits mit Azure Boards verbunden sind, wird die folgende Meldung angezeigt:

    Screenshot: Meldung, dass keine weiteren Repositorys zum Herstellen einer Verbindung vorhanden sind

  3. Geben Sie Ihre Anmeldeinformationen für GitHub ein. Wenn Sie die zweistufige Authentifizierung aktiviert haben, geben Sie den von GitHub gesendeten Authentifizierungscode ein, und wählen Sie Überprüfen aus. Andernfalls erkennt das System automatisch Ihre GitHub-Organisation, da Ihr GitHub-Konto mit Ihrem Azure DevOps Services-Konto verknüpft ist.

GitHub-Repositorys hinzufügen

Nachdem Sie authentifiziert wurden, können Sie die Repositorys auswählen, mit denen Sie eine Verbindung herstellen möchten.

  1. Im Dialogfeld GitHub-Repositorys hinzufügen werden automatisch alle GitHub.com-Repositorys, für die Sie als Admin fungieren, in der ausgewählten Organisation angezeigt und ausgewählt. Heben Sie die Auswahl aller Repositorys auf, die nicht zu der Integration gehören sollen.

    Bildschirmfoto mit GitHub-Repositorys.

    Tipp

    Um unerwartete AB#-Erwähnungsverknüpfungen zu vermeiden, empfehlen wir, ein GitHub-Repository mit Projekten innerhalb einer einzigen Azure DevOps-Organisation zu verbinden. Das Verbinden desselben GitHub-Repositorys mit Projekten in mehreren Azure DevOps-Organisationen kann zu Problemen führen. Weitere Informationen finden Sie unter „Fehlerbehebung bei der Integration von GitHub und Azure Boards“.

    Wenn alle Repositorys bereits mit der aktuellen oder einer anderen Organisation verbunden sind, wird die folgende Meldung angezeigt:

    Screenshot: Meldung, dass keine weiteren Repositorys zum Herstellen einer Verbindung vorhanden sind

  2. Klicken Sie auf Speichern, nachdem Sie die Auswahlen vorgenommen haben.

Bestätigen der Verbindung

  1. Lesen Sie die angezeigte GitHub-Seite, und wählen Sie dann Genehmigen, Installieren und Autorisieren aus.

    Screenshot mit der Bestätigung von GitHub-Repositorys.

  2. Geben Sie ihr GitHub-Kennwort zur Bestätigung an.

  3. Wenn Sie fertig sind, sollte die neue Verbindung mit den ausgewählten Repositorys aufgeführt werden.

Screenshot der Liste der verbundenen Repositorys.

Informationen zum Ändern der Konfiguration oder Verwalten der Azure Boards-App für GitHub finden Sie unter Ändern des Repositoryzugriffs auf Azure Boards.

Hinzufügen einer GitHub-Verbindung mithilfe von PAT

Sie sollten Ihre GitHub-Kontoanmeldeinformationen verwenden, um eine Verbindung mit Ihrem GitHub-Repository herzustellen. Wenn Sie ein PAT verwenden müssen, führen Sie die folgenden Schritte aus.

Tipp

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

  1. Wählen Sie Persönliches Zugriffstoken aus.

    Screenshot des Dialogfelds Neue GitHub-Verbindung, Auswahl des persönlichen Zugriffstokens.

    Um ein GitHub-PAT zu erstellen, wechseln Sie zu GitHub-Entwicklereinstellungen > Persönliche Zugriffstoken.

  2. Geben Sie das PAT ein, und wählen Sie dann Verbinden aus.

    Screenshot der eingegebenen PAT.

  3. Wählen Sie die Repositorys aus, die Sie mit dem Projekt verbinden möchten, indem Sie die unter Auswählen der Repositorys weiter oben in diesem Artikel beschriebenen Verfahren befolgen.

  4. Wenn Sie zum ersten Mal eine Verbindung mit einem GitHub-Konto oder einer Organisation über Azure Boards herstellen, installieren Sie die Azure Boards-App für GitHub. Bestätigen Sie die Verbindung weiter oben in diesem Artikel.

Registrieren von Azure DevOps in GitHub als OAuth-App

Wenn Sie Azure DevOps über OAuth mit Ihrer GitHub Enterprise Server-Instanz verbinden möchten, registrieren Sie die Anwendung zunächst als OAuth-App. Weitere Informationen finden Sie unter „Erstellen einer OAuth-App“.

Registrieren von Azure DevOps Services

  1. Melden Sie sich beim Webportal für Ihre GitHub Enterprise Server-Instanz an.

    Screenshot der Anmeldung für den GitHub Enterprise-Server.

  2. Öffnen Sie „Einstellungen“>„Entwicklereinstellungen“>„Oauth-Apps“>„Neue OAuth-App“.

    Screenshot zeigt den Ablauf der neuen OAuth-App.

  3. Geben Sie die Registrierungsinformationen ein.

    Geben Sie für URL für Startseite die Organisations-URL Ihrer Organisation an.
    Verwenden Sie für die Autorisierungsrückruf-URL das folgende Muster, um die URL zu erstellen.

    {Azure DevOps Services Organization URL}/_admin/oauth2/callback

    Zum Beispiel:

    https://dev.azure.com/fabrikam/_admin/oauth2/callback

    Screenshot der App zur Registrierung.

  4. Wählen Sie Anwendung registrieren aus.

  5. Client-ID und geheimer Clientschlüssel für Ihre registrierte OAuth-Anwendung werden angezeigt.

    Screenshot der Client ID und des Client Secret für die registrierte OAuth-Anwendung.

Registrieren Ihrer OAuth-Konfiguration in Azure DevOps Services

  1. Melden Sie sich beim Webportal für Azure DevOps Services an.

  2. Fügen Sie ihrer Organisation die GitHub Enterprise Oauth-Konfiguration hinzu.

  3. Wählen Sie in den Organisationseinstellungen Oauth-Konfigurationen>„Oauth-Konfiguration hinzufügen“ aus.

    Screenshot von Open Organization Settings, OAuth-Konfigurationen.

  4. Geben Sie Ihre Informationen ein, und wählen Sie dann „Erstellen“ aus.

    Dialogfeld „OAuth-Konfigurationen“

Verbinden von Azure DevOps Server mit GitHub Enterprise Server

Wichtig

Um Azure DevOps Services mit Ihrem GitHub Enterprise Server zu verbinden, muss Ihr GitHub Enterprise Server über das Internet zugänglich sein. Stellen Sie sicher, dass Azure DNS den Namen Ihres GitHub Enterprise Servers auflösen kann, und dass Ihre Firewall den Zugriff über Azure Data Center-IP-Adressen zulässt. Informationen zum Ermitteln des IP-Adressbereichs finden Sie unter IP-Bereiche des Microsoft Azure-Rechenzentrums. Eine häufige Fehlermeldung bei Verbindungsproblemen ist:

Der Remotename konnte nicht aufgelöst werden: „github-enterprise-server.contoso.com“

Wenn dieser Fehler auftritt, überprüfen Sie, ob auf den Server zugegriffen werden kann. Weitere Informationen finden Sie unter Azure DNS – häufig gestellte Fragen.

  1. Wählen Sie Project-Einstellungen>GitHub-Verbindungen>GitHub Enterprise Server für eine erstmalige Verbindung aus.

    Erste Verbindung, Auswählen von „GitHub Enterprise Server“

    Alternativ können Sie im Dialogfeld Neue GitHub-Verbindung die Option GitHub Enterprise Server auswählen.

    Screenshot des Dialogs Neue GitHub-Verbindung, wählen Sie GitHub Enterprise Server.

  2. Wählen Sie die Authentifizierungsmethode aus.

    Screenshot des Dialogs zur Authentifizierungsmethode.

    Verbinden mit OAuth

    Wählen Sie die Konfiguration aus, die Sie in Schritt 4 von „Registrieren Ihrer OAuth-Konfiguration in Azure DevOps Services“ eingerichtet haben, und wählen Sie dann Verbinden aus.

    Screenshot der neuen GitHub Enterprise-Verbindung, OAuth-Verbindungsdialog.

    Mit einem persönlichen Zugriffstoken eine Verbindung herstellen

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

    Screenshot der neuen GitHub Enterprise-Verbindung, Dialogfeld „Persönliche Zugriffstokenverbindung“.

    Mit Benutzername und Kennwort verbinden

    Geben Sie die URL für Ihre GitHub Enterprise Server-Instanz und die Administratoranmeldeinformationen ein, die von diesem Server erkannt werden und wählen Sie dann „Verbinden“.

    Screenshot des Bildschirms „Neue GitHub Enterprise-Verbindung“, Dialogfeld „Benutzername für die Verbindung“.

  3. 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 weitere Repositorys angezeigt werden, und dann die Repositorys aktivieren, die Sie hinzufügen möchten. Wählen Sie Speichern aus, wenn Sie fertig sind.

    Screenshot der aufgelisteten Repositorys.

    Tipp

    Sie können nur eine Verbindung mit Repositorys herstellen, die unter einer GitHub-Organisation definiert sind. Um ein Projekt mit anderen Repositorys zu verbinden, die in einer anderen GitHub-Organisation definiert sind, müssen Sie eine weitere Verbindung hinzufügen.

  4. 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. Bestätigen Sie die Verbindung weiter oben in diesem Artikel.

Beheben von Verbindungsproblemen

Bei der Azure Boards-GitHub-Integration werden verschiedene Authentifizierungsprotokolle verwendet, um die Verbindung aufrechtzuerhalten. Änderungen am Berechtigungsumfang oder an den Authentifizierungsdaten eines Nutzers 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 eine 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
  • Persönliche Zugriffstoken
  • Benutzername und Kennwort

Azure DevOps Server 2020

Nicht zutreffend

  • Persönliche Zugriffstoken
  • Benutzername und Kennwort

Azure DevOps Server 2019

Nicht zutreffend

  • OAuth
  • Persönliche Zugriffstoken
  • Benutzername und Kennwort

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.

Gewähren von Azure Boards-Organisationszugriff

Wenn die Integration zwischen Azure Boards und GitHub nicht wie erwartet funktioniert, überprüfen Sie, ob Sie der Organisation Zugriff gewährt haben.

  1. Öffnen Sie im GitHub-Webportal Einstellungen in Ihrem Profilmenü.
    Screenshot: Geöffnetes Profil, Auswählen von „Einstellungen“

  2. Wählen Sie „Anwendungen“ unter „Integrationen>autorisierte OAuth-Apps>Azure Boards“ aus.

  3. Unter Organisationszugriff können alle auftretenden Probleme behoben werden. Wählen Sie Gewähren aus, um allen Organisationen Zugriff zu gewähren, für die Zugriffsanforderung ausstehend angezeigt wird.

    Screenshot: Organisationszugriff mit Organisationen ohne Zugriff

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. Um dieses Problem zu beheben, entfernen Sie die Verbindung, und erstellen Sie eine neue.

Screenshot der fehlerhaften Verbindung

Ziehen Sie die folgenden Schritte in Betracht, um das Problem zu lösen:

  • 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 persönliches Zugriffstoken verwendet:

    • Das PAT kann widerrufen werden oder die erforderlichen Berechtigungsbereiche haben sich geändert und sind unzureichend.

    • Der Benutzer hat möglicherweise keine Administratorrechte für das GitHub-Repositorium.

      Erstellen Sie das persönliche Zugriffstoken neu und stellen Sie sicher, dass der Bereich für das Token die erforderlichen Berechtigungen enthält: repo, read:user, user:email, admin:repo_hook.

Beheben einer fehlerhaften GitHub Enterprise Server-Verbindung

Wenn Sie eine Migration von Azure DevOps Server zu Azure DevOps Services mit einer bestehenden GitHub Enterprise Server-Verbindung durchgeführt haben, funktioniert Ihre bestehende Verbindung möglicherweise nicht wie erwartet. Erwähnungen von Arbeitsaufgaben in GitHub werden möglicherweise verzögert oder nie in Azure DevOps Services angezeigt, da die mit GitHub verknüpfte Rückruf-URL nicht mehr gültig ist. Beachten Sie die folgenden Lösungen:

  • Entfernen und erneutes Herstellen der Verbindung: Entfernen Sie die Verbindung mit dem GitHub Enterprise Server-Repository, und stellen Sie sie neu her. Befolgen Sie die in der Dokumentation zum Herstellen einer Verbindung aus Azure Boards angegebenen Schritte.

  • Reparieren Sie die Webhook-URL: Gehen Sie auf die Seite mit den Repository-Einstellungen von GitHub und bearbeiten Sie die Webhook-URL, die auf die URL der migrierten Azure DevOps-Organisation verweist: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Verbindungsherstellung mit mehreren Azure DevOps-Organisationen

Wenn Sie Ihr GitHub-Repository mit Projekten in mehreren Azure DevOps-Organisationen verbinden, z. B. dev.azure.com/Contoso und dev.azure.com/Fabrikam, können unerwartete Ergebnisse mit AB#-Erwähnungen verursacht werden. Die IDs von Arbeitselementen in den Azure DevOps-Organisationen sind nicht eindeutig, weshalb sich AB#12 auf ein Arbeitselement in der Contoso- oder der Fabrikam-Organisation beziehen kann. Wenn ein Arbeitselement in einer Commit-Nachricht oder einer Pull-Anforderung erwähnt wird, können beide Organisationen versuchen, ein Arbeitselement mit der passenden ID zu verknüpfen, was zu Verwirrung führt.

Um dieses Problem zu vermeiden, verbinden Sie ein einzelnes GitHub-Repository mit nur einer Azure DevOps-Organisation.

Hinweis

Wenn Sie eine Verbindung mit der Azure Boards-App für GitHub herstellen, verhindert die App Verbindungen mit mehreren Organisationen. Wenn ein GitHub-Repository mit der falschen Azure DevOps-Organisation verbunden ist, wenden Sie sich an den Eigentümer dieser Organisation, bevor Sie das Repository der korrekten Azure DevOps-Organisation hinzufügen.

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

Aktualisieren Sie die XML-Definitionen für die Arbeitselement-Typen, wenn Ihre Organisation das Prozessmodell Hosted XML oder On-Premises XML verwendet, um die Arbeitsverfolgung anzupassen, und Sie die GitHub-Linktypen aus dem Abschnitt „Entwicklung“ in den Arbeitselement-Formularen verknüpfen und anzeigen möchten.

Wenn Sie beispielsweise User Storys und Fehler mit GitHub-Commits und -Pull-Anforderungen über den Abschnitt Entwicklung verknüpfen möchten, aktualisieren Sie die XML-Definitionen für User Storys und Fehler.

Beachten Sie beim Aktualisieren der XML-Definitionen die in Gehostetes XML-Prozessmodell angegebene Aufgabereihenfolge. Suchen Sie für jeden Arbeitselementtyp nach dem Abschnitt Group Label="Development", und fügen Sie die folgenden zwei Zeilen in der folgenden Codesyntax hinzu, um die externen Verknüpfungstypen zu unterstützen: GitHub-Commit und GitHub Pull-Anforderung.

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

Nach der Aktualisierung sollte der Abschnitt wie folgt 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>  

Häufig gestellte Fragen

F: Einige meiner Benutzer in Azure DevOps haben GitHub-Identitäten. Muss ich diese als neue GitHub-Benutzer zu meiner Organisation hinzufügen?

A: Nein. Bitten Sie Ihre Benutzer, sich abzumelden und dann in einer neuen Browsersitzung mit ihren GitHub-Anmeldeinformationen wieder bei der Organisation anzumelden. Durch diese Aktion werden ihre GitHub-Identitäten eingerichtet.

F: Ich bin Admin einer Organisation und habe die Richtlinie aktiviert, die das Einladen von GitHub-Benutzern ermöglicht. Warum kann ich keine neuen GitHub-Benutzer einladen?

A: Sobald die Einstellung geändert wurde, melden Sie sich von Azure DevOps ab und dann in einer neuen Browsersitzung mit Ihren GitHub-Anmeldeinformationen wieder bei der Organisation (dev.azure.com/{organizationName} oder organizationName.visualstudio.com) an.

F: Ich habe mich mit meinen GitHub-Anmeldedaten angemeldet, aber warum kann ich keine GitHub-Benutzer einladen?

A: Nur Organisations- oder Projektadministratoren können neue Benutzer einladen, der Organisation beizutreten. Möglicherweise haben Sie nicht die erforderlichen Berechtigungen, um neue Benutzer hinzuzufügen. Wenden Sie sich an Ihren Administrator, um die erforderlichen Berechtigungen zu erhalten, oder bitten Sie ihn, den Benutzer für Sie hinzuzufügen.

Nächste Schritte