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
Categorie | Eisen |
---|---|
machtigingen | - Lid van de beheerders van projectverzamelingen groep en de groep Inzendersproject. Als u het project hebt gemaakt, hebt u machtigingen. - Administrator- van de GitHub Enterprise Server waarmee u verbinding maakt. |
projectlidmaatschap | lid van het project. |
integratie met GitHub | - Azure DevOps Server 2020.1.1 Patch 2. Zonder deze patch kunt u alleen verbinding maken met uw GitHub Enterprise Server-opslagplaatsen. - Azure Boards-app voor GitHub geïnstalleerd in de GitHub-organisaties of het account. |
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 >>
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 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.
- GitHub-referenties, zie Verbinding maken met behulp van GitHub-referenties.
Anders selecteert u Nieuwe verbinding en selecteert
u de verificatiemethode in het dialoogvenster Nieuwe verbinding.
Selecteer Project-instellingen>GitHub-verbindingen>Uw GitHub Enterprise-account verbinden of kies uit de andere verificatieopties. Dit wordt niet aanbevolen.
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 GitHub-referenties
- 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
- GitHub-referenties
Azure DevOps Server 2020
Niet van toepassing
- TIKKEN
- GitHub-referenties
Azure DevOps Server 2019
Niet van toepassing
- OAuth
- TIKKEN
- GitHub-referenties
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 ingetrokken of de vereiste machtigingsbereiken zijn gewijzigd en zijn onvoldoende.
De gebruiker is mogelijk beheerdersmachtigingen kwijtgeraakt in de GitHub-opslagplaats.
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
. Zie Aanbevolen procedures voor het gebruik van PAT'svoor meer informatie.
XML-definities bijwerken voor geselecteerde typen werkitems
Als uw organisatie het bijhouden van werk aanpast met behulp van het gehoste XML- of on-premises XML-procesmodel en gitHub-koppelingstypen wil integreren in de sectie Ontwikkeling van werkitemformulieren, moet u de XML-definities voor de bijbehorende typen werkitems bijwerken.
Als u bijvoorbeeld gebruikersverhalen en fouten wilt koppelen aan GitHub-doorvoeringen en pull-aanvragen in de sectie Ontwikkeling van werkitemformulieren, moet u de XML-definities voor deze typen werkitems bijwerken.
Als u de XML-definities wilt wijzigen, voert u de stappen uit die worden beschreven in het gehoste XML-procesmodel. Voor elk type werkitem:
- Zoek de
Group Label="Development"
sectie. - Voeg de volgende coderegels toe om de typen externe koppelingen, GitHub Commit en GitHub Pull Request te ondersteunen:
Deze integratie maakt het naadloos bijhouden van GitHub-activiteiten mogelijk rechtstreeks vanuit uw werkitems in Azure Boards.
<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>