Delen via


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, zie 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 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.

  1. Open de webportal voor uw Azure DevOps-server.

  2. 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.

  1. Selecteer Project-instellingen>GitHub-verbindingen.

    Schermopname van het openen van GitHub-verbindingen met Project-instellingen>.

  2. 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:

    Schermopname van de eerste keer dat u verbinding maakt met GitHub-referenties.

    Anders selecteert u Nieuwe verbinding en selecteert u de verificatiemethode in het dialoogvenster Nieuwe verbinding.

Verbinding maken met een persoonlijk toegangstoken

  1. Zie Een persoonlijk toegangstoken maken om een PAT te maken.

    Tip

    Wanneer u uw GitHub PAT maakt, moet u ervoor zorgen dat u de volgende scopes opneemt: repo, admin:repo_hook, read:user, user:email.

  2. Voer de URL in van uw GitHub Enterprise-server en de persoonlijk toegangstoken inloggegevens die door de server worden herkend. Selecteer vervolgens Verbinding maken.

Schermopname van aanmelden met PAT.

Verbinding maken met GitHub-referenties

  1. Voer de URL in voor uw GitHub Enterprise-server en de beheerdersaccountreferenties die door die server worden herkend. Kies vervolgens Verbinding maken.

Schermopname van aanmelden met GitHub-referenties.

  1. 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.

    Schermopname van opslagplaatsen die u wilt toevoegen.

  2. 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
  • PAT
  • GitHub-referenties

Azure DevOps Server 2020

Niet van toepassing

  • KLAPJE
  • GitHub-referenties

Azure DevOps Server 2019

Niet van toepassing

  • OAuth
  • AAIEN
  • 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 het geeft aan dat de inloggegevens niet meer geldig zijn. U kunt het probleem oplossen door de verbinding te verwijderen en een nieuwe verbinding opnieuw te maken.

Schermopname van mislukte verbinding.

Overweeg de volgende resoluties:

  • 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:

  1. Zoek de Group Label="Development" sectie.
  2. 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>  

Volgende stappen