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.
Melden Sie sich bei Ihrem Projekt (
https://dev.azure.com/{Your_Organization/Your_Project}
).Wählen Sie „Projekteinstellungen>GitHub-Verbindungen“ aus.
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.
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.
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.
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:
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.
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.
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:
Klicken Sie auf Speichern, nachdem Sie die Auswahlen vorgenommen haben.
Bestätigen der Verbindung
Lesen Sie die angezeigte GitHub-Seite, und wählen Sie dann Genehmigen, Installieren und Autorisieren aus.
Geben Sie ihr GitHub-Kennwort zur Bestätigung an.
Wenn Sie fertig sind, sollte die neue Verbindung mit den ausgewählten Repositorys aufgeführt werden.
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
.
Wählen Sie Persönliches Zugriffstoken aus.
Um ein GitHub-PAT zu erstellen, wechseln Sie zu GitHub-Entwicklereinstellungen > Persönliche Zugriffstoken.
Geben Sie das PAT ein, und wählen Sie dann Verbinden aus.
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.
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
Melden Sie sich beim Webportal für Ihre GitHub Enterprise Server-Instanz an.
Öffnen Sie „Einstellungen“>„Entwicklereinstellungen“>„Oauth-Apps“>„Neue OAuth-App“.
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
Wählen Sie Anwendung registrieren aus.
Client-ID und geheimer Clientschlüssel für Ihre registrierte OAuth-Anwendung werden angezeigt.
Registrieren Ihrer OAuth-Konfiguration in Azure DevOps Services
Melden Sie sich beim Webportal für Azure DevOps Services an.
Fügen Sie ihrer Organisation die GitHub Enterprise Oauth-Konfiguration hinzu.
Wählen Sie in den Organisationseinstellungen Oauth-Konfigurationen>„Oauth-Konfiguration hinzufügen“ aus.
Geben Sie Ihre Informationen ein, und wählen Sie dann „Erstellen“ aus.
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.
Wählen Sie Project-Einstellungen>GitHub-Verbindungen>GitHub Enterprise Server für eine erstmalige Verbindung aus.
Alternativ können Sie im Dialogfeld Neue GitHub-Verbindung die Option GitHub Enterprise Server auswählen.
Wählen Sie die Authentifizierungsmethode aus.
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.
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.
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“.
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.
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.
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.
Öffnen Sie im GitHub-Webportal Einstellungen in Ihrem Profilmenü.
Wählen Sie „Anwendungen“ unter „Integrationen>autorisierte OAuth-Apps>Azure Boards“ aus.
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.
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.
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.