Anslut Azure DevOps Server till GitHub (lokalt)

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

När du ansluter ditt Azure DevOps Server-projekt till dina GitHub-lagringsplatser stöder du länkning mellan GitHub-incheckningar och pull-begäranden till arbetsobjekt. Du kan använda GitHub för programvaruutveckling när du använder Azure Boards för att planera och spåra ditt arbete.

Kommentar

Lokal Azure DevOps Server 2020 stöder integrering med GitHub.com- och GitHub Enterprise Server-lagringsplatser. Om du vill ansluta från Azure DevOps Services kan du läsa Anslut Azure Boards till GitHub.

När du ansluter ditt Azure DevOps Server-projekt till dina GitHub Enterprise Server-lagringsplatser stöder du länkning mellan GitHub-incheckningar och pull-begäranden till arbetsobjekt. Du kan använda GitHub Enterprise för programvaruutveckling när du använder Azure Boards för att planera och spåra ditt arbete.

Kommentar

Lokal Azure DevOps Server 2019 stöder integrering med GitHub Enterprise Server-lagringsplatser. Om du vill ansluta från Azure DevOps Services kan du läsa Anslut Azure Boards till GitHub.

Förutsättningar

  • Anslut till GitHub.com lagringsplatser genom att installera Azure DevOps Server 2020.1.1 Patch 2. Utan den här korrigeringen kan du bara ansluta till dina GitHub Enterprise Server-lagringsplatser.
  • Installera Azure Boards-appen för GitHub på GitHub-organisationer eller -kontot.
  • Anslut till ett Azure Boards- eller Azure DevOps-projekt. Om du inte har något projekt än skapar du ett.
  • Du måste vara medlem i gruppen Projektsamlingsadministratörer och projektets deltagargrupp. Om du har skapat projektet har du behörighet.
  • Du måste vara administratör för den GitHub Enterprise-server som du ansluter till.

Autentiseringsalternativ

Följande autentiseringsalternativ stöds.

Kommentar

OAuth stöds inte för Azure DevOps Server 2020.

Registrera Azure DevOps i GitHub som en OAuth-app

Om du planerar att använda OAuth för att ansluta Azure DevOps Server till din GitHub Enterprise Server måste du först registrera programmet som en OAuth-app. Mer information finns i Skapa en OAuth-app.

Registrera Azure DevOps Server

  1. Logga in på webbportalen för din GitHub Enterprise-server.

    Screenshot of sign in for GitHub Enterprise Server.

  2. Välj Inställningar> Developer-inställningar>Oauth-appar>Ny OAuth-app.

    Screenshot showing sequence for getting to New OAuth App screen.

  3. Ange din information för att registrera ditt Azure DevOps Server-program.

    Screenshot of Azure DevOps Server project registration.

    För webbadressen till startsidan anger du den offentliga URL:en för projektsamlingen. Du hittar den här URL:en när du öppnar Administrationskonsolen för Azure DevOps och visar noden Programnivå .

    Screenshot of Azure DevOps Server Administration Console, Application Tier.

    För url: en för återanrop av auktorisering använder du följande mönster för att konstruera URL:en.

    {Azure DevOps Server Public Url}/{Collection Name}/_admin/oauth2/callback

    Till exempel:

    http://contoso/DefaultCollection/_admin/oauth2/callback

    https://tfs.contoso.com/MyCollection/_admin/oauth2/callback

  4. Välj Registrera program.

  5. En sida visas som innehåller klient-ID och klienthemlighet för ditt registrerade OAuth-program.

    Screenshot of Client ID and Client Secret for your registered OAuth application.

Registrera din OAuth-konfiguration i Azure DevOps Server

  1. Logga in på webbportalen för din Azure DevOps Server.

  2. Lägg till GitHub Enterprise Oauth-konfigurationen i din Azure DevOps Server-samling.

  3. Välj Administratörsinställningar>Oauth-konfigurationer>Lägg till Oauth-konfiguration.

    Screenshot showing step sequence to add OAuth configuration.

  4. Ange din information och välj sedan Skapa.

    Screenshot of OAuth configuration dialog.

Anslut Azure DevOps Server till GitHub Enterprise Server

Du kan ansluta upp till 250 GitHub-lagringsplatser till ett Azure Boards-projekt.

Kommentar

Anslut till fler än 100 GitHub-lagringsplatser kräver Azure DevOps Server 2020.1-uppdatering eller senare version.
Anslut till GitHub.com lagringsplatser kräver Azure DevOps Server 2020.1.1 Patch 2 eller senare version.

Du kan ansluta upp till 100 GitHub-lagringsplatser till ett Azure Boards-projekt. Det går inte att ändra den här gränsen.

  1. Öppna webbportalen för din Azure DevOps Server.

  2. Välj Azure DevOps-logotypen för att öppna Projekt och välj sedan det Azure Boards-projekt som du vill konfigurera för att ansluta till dina GitHub Enterprise-lagringsplatser.

  1. Välj Projektinställningar>GitHub-anslutningar.

    Screenshot of open Project Settings>GitHub connections.

  2. Om det är första gången du upprättar en anslutning från projektet väljer du den autentiseringsmetod som du vill använda för att upprätta anslutningen:

    Screenshot of first time connecting with GitHub credentials.

    Annars väljer du Ny anslutning och väljer din autentiseringsmetod i dialogrutan Ny Anslut ion.

  1. Välj Projektinställningar>GitHub-anslutningar> Anslut ditt GitHub Enterprise-konto.

    Screenshot of Project settings, selected Integrations.

    Eller välj en personlig åtkomsttoken eller användarnamn och lösenord om du använder dessa autentiseringsuppgifter.

Anslut med OAuth

Välj den konfiguration som du konfigurerade i steg 4 i Registrera din OAuth-konfiguration i Azure DevOps Server. Välj sedan Anslut.

Screenshot fo New GitHub Enterprise connection, OAuth dialog.

Anslut med en personlig åtkomsttoken

  1. Information om hur du skapar en PAT finns i Skapa en personlig åtkomsttoken.

    Dricks

    När du skapar din GitHub PAT kontrollerar du att du inkluderar dessa omfång: repo, admin:repo_hook, read:user, user:email.

  2. Ange URL:en för din GitHub Enterprise-server och autentiseringsuppgifterna för personlig åtkomsttoken som identifieras av servern. Välj sedan Anslut.

Screenshot of sign in with PAT.

Anslut med användarnamn och lösenord

  1. Ange URL:en för din GitHub Enterprise-server och autentiseringsuppgifterna för administratörskontot som identifieras av servern. Välj sedan Anslut.

Screenshot of sign in with username and password.

  1. I dialogrutan visas alla lagringsplatser som du har GitHub-administrationsbehörighet för. Du kan växla mellan Min och Alla för att avgöra om andra visas och sedan kontrollera de som du vill lägga till. Välj Spara när du är klar.

    Screenshot of repositories to select to add.

  2. Om du vill ansluta till ett GitHub-konto eller en organisation från Azure Boards för första gången installerar du även Azure Boards-appen för GitHub. Slutför integreringen genom att följa de procedurer som beskrivs i Bekräfta anslutningen.

Lös anslutningsproblem

Azure Boards-GitHub-integreringen förlitar sig på olika autentiseringsprotokoll för att stödja anslutningen. Ändringar i en användares behörighetsomfång eller autentiseringsuppgifter kan orsaka återkallande av GitHub-lagringsplatser som är anslutna till Azure Boards.

En översikt över den integrering som Azure Boards-appen för GitHub stöder finns i Azure Boards-GitHub-integrering.

Autentiseringsalternativ som stöds

Följande autentiseringsalternativ stöds baserat på den GitHub-plattform som du vill ansluta till.

Plattform

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

  • GitHub.com användarkonto
  • Personlig åtkomsttoken (PAT)
  • OAuth
  • PAT
  • Användarnamn plus lösenord

Azure DevOps Server 2020

Inte tillämpligt

  • PAT
  • Användarnamn plus lösenord

Azure DevOps Server 2019

Inte tillämpligt

  • OAuth
  • PAT
  • Användarnamn plus lösenord

Kommentar

Med Azure Boards-appen för GitHub stöder Azure Boards och Azure DevOps Services integrering med GitHub.com- och GitHub Enterprise Server-lagringsplatser. Azure DevOps Servers 2019 och senare versioner stöder endast integrering med GitHub Enterprise Server-lagringsplatser. Integrering med andra Git-lagringsplatser stöds inte.

Lösa åtkomstproblem

När Azure Boards-anslutningen till GitHub inte längre har åtkomst visas en aviseringsstatus i användargränssnittet med en red-X. Hovra över aviseringen och det anger att autentiseringsuppgifterna inte längre är giltiga. Åtgärda problemet genom att ta bort anslutningen och återskapa en ny anslutning.

Screenshot of failed connection.

När Azure Boards-anslutningen till GitHub inte längre har åtkomst visas en aviseringsstatus i användargränssnittet med en red-X som har en knappbeskrivning, t.ex. Det går inte att ansluta till GitHub.

Överväg följande lösningar:

  • Om anslutningen använder OAuth:

    • Azure Boards-programmet fick åtkomst nekad för en av lagringsplatserna.

    • GitHub kan vara otillgängligt/oåtkomligt. Den här otillgängligheten kan bero på ett avbrott i antingen tjänsten eller ett infrastruktur-/nätverksproblem lokalt. Du kan kontrollera tjänststatus från följande länkar:

      Ta bort och återskapa anslutningen till GitHub-lagringsplatsen. Den här återskapade anslutningen gör att GitHub uppmanas att auktorisera Azure Boards igen.

  • Om anslutningen använder en PAT:

    • PAT kan ha återkallats eller de behörighetsomfång som krävs har ändrats och är otillräckliga.

    • Användaren kan ha förlorat administratörsbehörigheter på GitHub-lagringsplatsen.

      Återskapa PAT och se till att omfånget för token innehåller de behörigheter som krävs: repo, read:user, user:email, admin:repo_hook.

Uppdatera XML-definitioner för utvalda typer av arbetsobjekt

Om din organisation använder den värdbaserade XML-koden eller den lokala XML-processmodellen för att anpassa arbetsspårningsmiljön, och du vill länka till och visa GitHub-länktyperna från avsnittet Utveckling i arbetsobjektsformulären, måste du uppdatera XML-definitionerna för arbetsobjekttyperna.

Om du till exempel vill länka användarberättelser och buggar till GitHub checkar in och hämtar begäranden från avsnittet Utveckling måste du uppdatera XML-definitionerna för användarberättelser och buggar.

Följ sekvensen med uppgifter som tillhandahålls i värdbaserad XML-processmodell för att uppdatera XML-definitionerna. För varje typ av arbetsobjekt letar du upp Group Label="Development" avsnittet och lägger till följande två rader i följande kodsyntax för att stödja de externa länktyperna: GitHub Commit och GitHub Pull Request.

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

När den uppdateras bör avsnittet visas på följande sätt.

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

Nästa steg