Azure DevOps Server verbinden met GitHub (on-premises)
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Wanneer u uw Azure DevOps Server-project verbindt met uw GitHub-opslagplaatsen, ondersteunt u het koppelen tussen GitHub-doorvoeringen en pull-aanvragen voor werkitems. U kunt GitHub gebruiken voor softwareontwikkeling terwijl u Azure Boards gebruikt om uw werk te plannen en bij te houden.
Notitie
On-premises Azure DevOps Server 2020 ondersteunt integratie met GitHub.com- en GitHub Enterprise Server-opslagplaatsen. Als u verbinding wilt maken vanuit Azure DevOps Services, raadpleegt u Azure Boards verbinden met GitHub.
Wanneer u uw Azure DevOps Server-project verbindt met uw GitHub Enterprise Server-opslagplaatsen, ondersteunt u het koppelen tussen GitHub-doorvoeringen en pull-aanvragen voor werkitems. U kunt GitHub Enterprise gebruiken voor softwareontwikkeling terwijl u Azure Boards gebruikt om uw werk te plannen en bij te houden.
Notitie
On-premises Azure DevOps Server 2019 ondersteunt integratie met GitHub Enterprise Server-opslagplaatsen. Als u verbinding wilt maken vanuit Azure DevOps Services, raadpleegt u Azure Boards verbinden met GitHub.
Vereisten
- Maak verbinding met GitHub.com opslagplaatsen door Azure DevOps Server 2020.1.1 Patch 2 te installeren. Zonder deze patch kunt u alleen verbinding maken met uw GitHub Enterprise Server-opslagplaatsen.
- Installeer de Azure Boards-app voor GitHub in de GitHub-organisaties of het account.
- Verbinding maken met een Azure Boards- of Azure DevOps-project. Als u nog geen project hebt, maakt u er een.
- U moet lid zijn van de groep Beheerders van projectverzamelingen en de groep Inzenders van het project. Als u het project hebt gemaakt, hebt u machtigingen.
- U moet een beheerder zijn van de GitHub Enterprise Server waarmee u verbinding maakt.
Verificatieopties
De volgende verificatieopties worden ondersteund.
Notitie
OAuth wordt niet ondersteund voor Azure DevOps Server 2020.
Azure DevOps registreren in GitHub als een OAuth-app
Als u van plan bent om OAuth te gebruiken om Azure DevOps Server te verbinden met uw GitHub Enterprise Server, moet u de toepassing eerst registreren als een OAuth-app. Zie Een OAuth-app maken voor meer informatie.
Azure DevOps Server registreren
Meld u aan bij de webportal voor uw GitHub Enterprise-server.
Selecteer Instellingen >voor ontwikkelaarsinstellingen>Oauth-apps>nieuwe OAuth-app.
Voer uw gegevens in om uw Azure DevOps Server-toepassing te registreren.
Geef voor de startpagina-URL de openbare URL van uw projectverzameling op. U vindt deze URL wanneer u de Azure DevOps-beheerconsole opent en het knooppunt toepassingslaag bekijkt.
Gebruik voor de callback-URL voor autorisatie het volgende patroon om de URL samen te stellen.
{Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback
Voorbeeld:
http://contoso/DefaultCollection/_admin/oauth2/callback
https://tfs.contoso.com/MyCollection/_admin/oauth2/callback
Selecteer Toepassing registreren.
Er wordt een pagina weergegeven met de client-id en het clientgeheim voor uw geregistreerde OAuth-toepassing.
Uw OAuth-configuratie registreren in Azure DevOps Server
Meld u aan bij de webportal voor uw Azure DevOps-server.
Voeg de GitHub Enterprise Oauth-configuratie toe aan uw Azure DevOps Server-verzameling.
Selecteer Oauth-configuraties>voor beheerinstellingen>: Oauth-configuratie toevoegen.
Voer uw gegevens in en selecteer Vervolgens Maken.
Azure DevOps Server verbinden met GitHub Enterprise Server
U kunt maximaal 250 GitHub-opslagplaatsen verbinden met een Azure Boards-project.
Notitie
Voor verbinding met meer dan 100 GitHub-opslagplaatsen is azure DevOps Server 2020.1-update of nieuwere versie vereist.
Voor verbinding met GitHub.com opslagplaatsen is Azure DevOps Server 2020.1.1 Patch 2 of hoger vereist.
U kunt maximaal 100 GitHub-opslagplaatsen verbinden met een Azure Boards-project. Deze limiet kan niet worden gewijzigd.
Open de webportal voor uw Azure DevOps-server.
Selecteer het Azure DevOps-logo om Projecten te openen en kies vervolgens het Azure Boards-project dat u wilt configureren om verbinding te maken met uw GitHub Enterprise-opslagplaatsen.
Selecteer Project-instellingen>GitHub-verbindingen.
Als het de eerste keer is dat u verbinding maakt vanuit het project, kiest u de verificatiemethode die u wilt gebruiken om de verbinding te maken:
- Persoonlijk toegangstoken voor meer informatie, zie Verbinding maken met een persoonlijk toegangstoken.
- Gebruikersnaam en wachtwoord, zie Verbinding maken met behulp van een gebruikersnaam en wachtwoord.
Anders selecteert u Nieuwe verbinding en selecteert u de verificatiemethode in het dialoogvenster Nieuwe verbinding.
Selecteer Project-instellingen>GitHub-verbindingen>Verbinding maken met uw GitHub Enterprise-account.
Of kies een persoonlijk toegangstoken of gebruikersnaam en wachtwoord als u deze referenties gebruikt.
Verbinding maken met OAuth
Kies de configuratie die u hebt ingesteld in stap 4 van uw OAuth-configuratie registreren in Azure DevOps Server. Selecteer vervolgens Verbinding maken.
Verbinding maken met een persoonlijk toegangstoken
Zie Een persoonlijk toegangstoken maken om een PAT te maken.
Tip
Wanneer u uw GitHub PAT maakt, moet u ervoor zorgen dat u deze bereiken opneemt:
repo, admin:repo_hook, read:user, user:email
.Voer de URL in voor uw GitHub Enterprise-server en de referenties voor het persoonlijke toegangstoken die door die server worden herkend. En selecteer vervolgens Verbinding maken.
Verbinding maken met een gebruikersnaam en wachtwoord
- Voer de URL in voor uw GitHub Enterprise-server en de beheerdersaccountreferenties die door die server worden herkend. En kies vervolgens Verbinding maken.
Het dialoogvenster bevat alle opslagplaatsen waarvoor u GitHub-beheerrechten hebt. U kunt schakelen tussen Mine en All om te bepalen of anderen worden weergegeven en controleer vervolgens de waarden die u wilt toevoegen. Kies Opslaan wanneer u klaar bent.
Als u voor het eerst verbinding wilt maken met een GitHub-account of -organisatie vanuit Azure Boards, installeert u ook de Azure Boards-app voor GitHub. Voltooi de integratie door de procedures te volgen die worden beschreven in De verbinding bevestigen.
Verbindingsproblemen oplossen
De Integratie van Azure Boards-GitHub is afhankelijk van verschillende verificatieprotocollen ter ondersteuning van de verbinding. Wijzigingen in het machtigingsbereik of de verificatiereferenties van een gebruiker kunnen leiden tot intrekking van de GitHub-opslagplaatsen die zijn verbonden met Azure Boards.
Zie Azure Boards-GitHub-integratie voor een overzicht van de integratie die door de Azure Boards-app voor GitHub wordt ondersteund.
Ondersteunde verificatieopties
De volgende verificatieopties worden ondersteund op basis van het GitHub-platform waarmee u verbinding wilt maken.
Platform
GitHub.com
GitHub Enterprise Server
Azure DevOps Services
- GitHub.com gebruikersaccount
- Persoonlijk toegangstoken (PAT)
- OAuth
- TIKKEN
- Gebruikersnaam plus wachtwoord
Azure DevOps Server 2020
Niet van toepassing
- TIKKEN
- Gebruikersnaam plus wachtwoord
Azure DevOps Server 2019
Niet van toepassing
- OAuth
- TIKKEN
- Gebruikersnaam plus wachtwoord
Notitie
Met de Azure Boards-app voor GitHub kunnen Azure Boards en Azure DevOps Services worden geïntegreerd met GitHub.com- en GitHub Enterprise Server-opslagplaatsen. Azure DevOps Server 2019 en latere versies ondersteunen alleen integratie met GitHub Enterprise Server-opslagplaatsen. Integratie met andere Git-opslagplaatsen wordt niet ondersteund.
Toegangsproblemen oplossen
Wanneer de Azure Boards-verbinding met GitHub geen toegang meer heeft, wordt er een waarschuwingsstatus weergegeven in de gebruikersinterface met een red-X. Beweeg de muisaanwijzer over de waarschuwing en geeft aan dat de referenties niet meer geldig zijn. U kunt het probleem oplossen door de verbinding te verwijderen en een nieuwe verbinding opnieuw te maken.
Wanneer de Azure Boards-verbinding met GitHub geen toegang meer heeft, wordt er een waarschuwingsstatus weergegeven in de gebruikersinterface met een red-X met knopinfo, zoals Kan geen verbinding maken met GitHub.
Houd rekening met de volgende oplossingen:
Als de verbinding gebruikmaakt van OAuth:
De Azure Boards-toepassing heeft de toegang geweigerd voor een van de opslagplaatsen.
GitHub is mogelijk niet beschikbaar/onbereikbaar. Deze onbeschikbaarheid kan worden veroorzaakt door een storing in een service of een on-premises probleem met een infrastructuur/netwerk. U kunt de servicestatus controleren via de volgende koppelingen:
Verwijder en maak de verbinding met de GitHub-opslagplaats opnieuw. Deze opnieuw gemaakte verbinding zorgt ervoor dat GitHub wordt gevraagd om Azure Boards opnieuw te autoriseren.
Als de verbinding gebruikmaakt van een PAT:
De PAT is mogelijk ingetrokken of de vereiste machtigingsbereiken zijn gewijzigd en zijn onvoldoende.
De gebruiker heeft mogelijk beheerdersmachtigingen voor de GitHub-opslagplaats verloren.
Maak de PAT opnieuw en zorg ervoor dat het bereik voor het token de vereiste machtigingen bevat:
repo, read:user, user:email, admin:repo_hook
.
XML-definities bijwerken voor geselecteerde typen werkitems
Als uw organisatie het gehoste XML- of on-premises XML-procesmodel gebruikt om de ervaring voor het bijhouden van werk aan te passen en u de GitHub-koppelingstypen wilt koppelen en weergeven uit de sectie Ontwikkeling in de werkitemformulieren, moet u de XML-definities voor de typen werkitems bijwerken.
Als u bijvoorbeeld gebruikersverhalen en bugs wilt koppelen aan GitHub-doorvoeringen en pull-aanvragen uit de sectie Ontwikkeling , moet u de XML-definities voor gebruikersverhalen en bugs bijwerken.
Volg de volgorde van taken in het gehoste XML-procesmodel om de XML-definities bij te werken. Zoek voor elk werkitemtype de Group Label="Development"
sectie en voeg de volgende twee regels toe in de volgende codesyntaxis ter ondersteuning van de typen externe koppelingen: GitHub Commit en GitHub Pull Request.
<ExternalLinkFilter Type="GitHub Pull Request" />
<ExternalLinkFilter Type="GitHub Commit" />
Wanneer deze wordt bijgewerkt, wordt de sectie als volgt weergegeven.
<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>