Ansluta Azure Boards till GitHub (moln)

Azure DevOps Services

Använd GitHub.com lagringsplatser för din programvaruutveckling och ditt Azure Boards-projekt för att planera och spåra ditt arbete. Anslut projektet och lagringsplatsen så att dina GitHub-incheckningar och pull-begäranden länkas till dina arbetsobjekt i Azure Boards.

Kommentar

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

Förutsättningar

  • Projektkrav: Ha ett Azure DevOps-projekt. Om du inte har ett projekt skapar du ett.

  • Behörigheter:

    • Var medlem i gruppen Projektadministratörer. Om du har skapat projektet har du behörighet.
    • Vara administratör eller ägare av GitHub-lagringsplatsen att ansluta till. Du kan ansluta till flera GitHub-lagringsplatser så länge du är administratör för dessa lagringsplatser.

Autentiseringsalternativ

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

GitHub.com

GitHub Enterprise Server

Kommentar

Om du väljer att ansluta GitHub till en PAT konfigurerar du enkel inloggning (SSO) för PAT på ditt GitHub-konto. Den här konfigurationen är nödvändig för att hämta en lista över lagringsplatser från en organisation med SAML-autentisering (Security Assertion Markup Language) aktiverat.

Ansluta Azure Boards till en GitHub-lagringsplats.

  1. Logga in på projektet (https://dev.azure.com/{Your_Organization/Your_Project}).

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

    Skärmbild av öppna GitHub-anslutningar för Projektinställningar>.

  3. Om det här är första gången du ansluter från projektet väljer du Anslut ditt GitHub-konto för att använda dina autentiseringsuppgifter för GitHub-kontot.

    Skärmbild av första gången du ansluter med GitHub-autentiseringsuppgifter.

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

    När du ansluter till ditt GitHub-konto använder du dina GitHub-autentiseringsuppgifter för att autentisera. Information om hur du använder en PAT finns i Lägga till en GitHub-anslutning med hjälp av PAT. Information om hur du ansluter till en GitHub Enterprise Server finns i Registrera Azure DevOps i GitHub som en OAuth-app.

Lägga till en GitHub-anslutning med GitHub-autentiseringsuppgifter

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

  1. Om det här är första gången du ansluter till GitHub från Azure Boards loggar du in med dina GitHub-autentiseringsuppgifter. Välj ett konto som du är lagringsplatsadministratör för.

  2. Välj det GitHub-konto eller den organisation som du vill ansluta till. Endast organisationer som du äger eller är administratör för visas.

    Om alla lagringsplatser för en organisation redan är anslutna till Azure Boards visas följande meddelande:

    Skärmbild av meddelande där det inte finns några fler lagringsplatser för att ansluta.

  3. Ange dina GitHub-autentiseringsuppgifter. Om du har tvåfaktorautentisering aktiverat anger du autentiseringskoden som skickas av GitHub och väljer Verifiera. Annars identifierar systemet automatiskt din GitHub-organisation eftersom ditt GitHub-konto är associerat med ditt Azure DevOps Services-konto.

Lägga till GitHub-lagringsplatser

När du har autentiserats kan du välja de lagringsplatser som du vill ansluta till.

  1. Dialogrutan Lägg till GitHub-lagringsplatser visas automatiskt och markerar alla GitHub.com lagringsplatser som du är administratör för i den valda organisationen. Avmarkera alla lagringsplatser som du inte vill inkludera i integreringen.

    Skärmbild som visar GitHub-lagringsplatser.

    Dricks

    För att undvika oväntad AB#- omnämnandelänkning rekommenderar vi att du ansluter en GitHub-lagringsplats till projekt inom en enda Azure DevOps-organisation. Att ansluta samma GitHub-lagringsplats till projekt i flera Azure DevOps-organisationer kan orsaka problem. Mer information finns i Felsöka Integrering av GitHub och Azure Boards.

    Om alla lagringsplatser redan är anslutna till den aktuella organisationen eller någon annan organisation visas följande meddelande:

    Skärmbild av meddelande där det inte finns några fler lagringsplatser för att ansluta.

  2. När du har gjort dina val väljer du Spara.

Bekräfta anslutningen

  1. Granska GitHub-sidan som visas och välj sedan Godkänn, Installera och auktorisera.

    Skärmbild som visar bekräftelse av GitHub-lagringsplatser.

  2. Ange ditt GitHub-lösenord för att bekräfta.

  3. När du är klar bör du se den nya anslutningen med de valda lagringsplatserna i listan.

Skärmbild av listan över anslutna lagringsplatser.

Information om hur du ändrar konfigurationen eller hanterar Azure Boards-appen för GitHub finns i Ändra lagringsplatsåtkomst till Azure Boards.

Lägga till en GitHub-anslutning med hjälp av PAT

Vi rekommenderar att du använder dina autentiseringsuppgifter för GitHub-kontot för att ansluta till din GitHub-lagringsplats. Gör följande om du behöver använda en PAT.

Dricks

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

  1. Välj Personlig åtkomsttoken.

    Skärmbild av dialogrutan Ny GitHub-anslutning och välj Personlig åtkomsttoken.

    Om du vill skapa en GitHub PAT går du till GitHub Developer Settings > Personliga åtkomsttoken.

  2. Ange PAT och välj Anslut.

    Skärmbild som visar angiven PAT.

  3. Välj de lagringsplatser som du vill ansluta till projektet genom att följa de procedurer som beskrivs i Välj lagringsplatser tidigare i den här artikeln.

  4. Om det är första gången du ansluter till ett GitHub-konto eller en organisation från Azure Boards installerar du Azure Boards-appen för GitHub. Bekräfta anslutningen tidigare i den här artikeln.

Registrera Azure DevOps i GitHub som en OAuth-app

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

Registrera Azure DevOps Services

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

    Skärmbild av inloggning för GitHub Enterprise-server.

  2. Öppna Inställningar>Utvecklarinställningar>Oauth-appar>Ny OAuth-app.

    Skärmbild som visar sekvens för ny OAuth-app.

  3. Ange registreringsinformation.

    För webbadressen till startsidan anger du organisationens organisations-URL.
    För url: en för återanrop av auktorisering använder du följande mönster för att konstruera URL:en.

    {Azure DevOps Services Organization URL}/_admin/oauth2/callback

    Till exempel:

    https://dev.azure.com/fabrikam/_admin/oauth2/callback

    Skärmbild som visar appen som ska registreras.

  4. Välj Registrera program.

  5. Klient-ID och klienthemlighet för ditt registrerade OAuth-program visas.

    Skärmbild av klient-ID och klienthemlighet för det registrerade OAuth-programmet.

Registrera din OAuth-konfiguration i Azure DevOps Services

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

  2. Lägg till GitHub Enterprise Oauth-konfigurationen i din organisation.

  3. I Organisationsinställningar väljer du Oauth-konfigurationer>Lägg till Oauth-konfiguration.

    Skärmbild av Öppna organisationsinställningar, OAuth-konfigurationer.

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

    Dialogrutan OAuth-konfigurationer.

Ansluta Azure DevOps Services till GitHub Enterprise Server

Viktigt!

Om du vill ansluta Azure DevOps Services till din GitHub Enterprise Server kontrollerar du att din GitHub Enterprise Server är tillgänglig från Internet. Kontrollera att Azure DNS kan matcha ditt GitHub Enterprise Server-namn och att brandväggen tillåter åtkomst från Azure Data Center IP-adresser. Information om hur du fastställer IP-adressintervallet finns i Ip-intervall för Microsoft Azure Data Center. Ett vanligt felmeddelande för anslutningsproblem är:

Det gick inte att matcha fjärrnamnet: "github-enterprise-server.contoso.com"

Om det här felet uppstår kontrollerar du serverns tillgänglighet. Mer information finns i Vanliga frågor och svar om Azure DNS.

  1. Välj Projektinställningar>GitHub-anslutningar>GitHub Enterprise Server för en förstagångsanslutning.

    Första anslutningen väljer du GitHub Enterprise Server.

    Eller välj GitHub Enterprise Server i dialogrutan Ny GitHub-anslutning.

    Skärmbild av dialogrutan Ny GitHub-anslutning och välj GitHub Enterprise Server.

  2. Välj autentiseringsmetod.

    Skärmbild som visar dialogrutan för autentiseringsmetod.

    Ansluta med OAuth

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

    Skärmbild av dialogrutan Ny GitHub Enterprise-anslutning, OAuth-anslutning.

    Ansluta med en personlig åtkomsttoken

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

    Skärmbild av dialogrutan Ny GitHub Enterprise-anslutning, personlig åtkomsttokenanslutning.

    Ansluta med användarnamn och lösenord

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

    Skärmbild av skärmen Ny GitHub Enterprise-anslutning, dialogrutan Användarnamnanslutning.

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

    Skärmbild av de lagringsplatser som visas.

    Dricks

    Du kan bara upprätta en anslutning till lagringsplatser som definierats under en GitHub-organisation. Om du vill ansluta ett projekt till andra lagringsplatser som definierats i en annan GitHub-organisation måste du lägga till en annan anslutning.

  4. Om det är första gången du ansluter till ett GitHub-konto eller en organisation från Azure Boards installerar du även Azure Boards-appen för GitHub. Bekräfta anslutningen tidigare i den här artikeln.

Lös anslutningsproblem

Azure Boards-GitHub-integreringen använder olika autentiseringsprotokoll för att underhålla anslutningen. Ändringar i en användares behörighetsomfång eller autentiseringsuppgifter kan återkalla GitHub-lagringsplatser som är anslutna till Azure Boards.

En översikt över integreringen som stöds av Azure Boards-appen för GitHub finns i Azure Boards-GitHub-integrering.

Autentiseringsalternativ som stöds

Följande autentiseringsalternativ som stöds beror på vilken GitHub-plattform du ansluter till:

Plattform

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

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

Azure DevOps Server 2020

Inte tillämpligt

  • KLAPPA
  • Användarnamn plus lösenord

Azure DevOps Server 2019

Inte tillämpligt

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

Kommentar

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

Bevilja åtkomst till Azure Boards-organisationen

Om integreringen mellan Azure Boards och GitHub inte fungerar som förväntat kontrollerar du att du har beviljat organisationsåtkomst.

  1. Öppna Inställningar från din profilmeny från GitHub-webbportalen.
    Skärmbild av öppen profil och välj Inställningar.

  2. Välj Program under Integreringar>Auktoriserade OAuth Apps Azure Boards>.

  3. Lös eventuella problem som kan uppstå under Organisationsåtkomst. Välj Bevilja för att bevilja åtkomst till organisationer som visar sig ha en väntande åtkomstbegäran.

    Skärmbild av organisationsåtkomst med organisationer utan åtkomst.

Lösa åtkomstproblem

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

Skärmbild av misslyckad anslutning.

Du kan lösa problemet genom att tänka på följande:

  • 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 återkallas eller de behörighetsomfattningar som krävs ändras och är otillräckliga.

    • Användaren kanske inte har administratörsbehörighet 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.

Lösa en bruten GitHub Enterprise Server-anslutning

Om du migrerade från Azure DevOps Server till Azure DevOps Services med en befintlig GitHub Enterprise Server-anslutning kanske din befintliga anslutning inte fungerar som förväntat. Omnämnanden av arbetsobjekt i GitHub kan fördröjas eller aldrig visas i Azure DevOps Services eftersom motringnings-URL:en som är associerad med GitHub inte längre är giltig. Överväg följande lösningar:

  • Ta bort och återskapa anslutningen: Ta bort och återskapa anslutningen till GitHub Enterprise Server-lagringsplatsen. Följ stegen i dokumentationen om Connect från Azure Boards .

  • Åtgärda webhooks-URL:en: Gå till sidan för Lagringsplatsen för GitHub och redigera webhooks-URL:en och peka på den migrerade Url:en för Azure DevOps-organisationen: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Ansluta till flera Azure DevOps-organisationer

Att ansluta din GitHub-lagringsplats till projekt i flera Azure DevOps-organisationer, till exempel dev.azure.com/Contoso och dev.azure.com/Fabrikam, kan orsaka oväntade resultat med AB# -omnämnanden. Arbetsobjekts-ID:t är inte unika för Azure DevOps-organisationer, så AB#12 kan referera till ett arbetsobjekt i antingen Contoso eller Fabrikam. När ett arbetsobjekt nämns i ett incheckningsmeddelande eller en pull-begäran kan båda organisationerna försöka länka till ett arbetsobjekt med matchande ID, vilket orsakar förvirring.

Undvik det här problemet genom att ansluta en enda GitHub-lagringsplats till endast en Azure DevOps-organisation.

Kommentar

När du ansluter med Azure Boards-appen för GitHub förhindrar appen anslutningar till flera organisationer. Om en GitHub-lagringsplats är ansluten till fel Azure DevOps-organisation kontaktar du organisationens ägare för att ta bort anslutningen innan du lägger till lagringsplatsen i rätt Azure DevOps-organisation.

Uppdatera XML-definitioner för utvalda typer av arbetsobjekt

Uppdatera XML-definitionerna för arbetsobjekttyperna om din organisation använder den värdbaserade XML- eller lokala XML-processmodellen för att anpassa arbetsspårningsmiljön och länka till och visa GitHub-länktyperna från avsnittet Utveckling i arbetsobjektsformulären.

Om du till exempel vill länka användarberättelser och buggar till GitHub-incheckningar och hämta begäranden från avsnittet Utveckling uppdaterar du 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 kodsyntaxen 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 du har uppdaterat ska 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>  

Vanliga frågor och svar

F: Vissa av mina användare i Azure DevOps har GitHub-identiteter. Behöver jag lägga till dem som nya GitHub-användare i min organisation?

S: Nej. Be användarna logga ut och logga sedan in i organisationen igen med sina GitHub-autentiseringsuppgifter från en ny webbläsarsession. Den här åtgärden etablerar sina GitHub-identiteter.

F: Jag är organisationsadministratör och aktiverade principen för att bjuda in GitHub-användare. Varför kan jag inte bjuda in nya GitHub-användare?

S: När du har ändrat inställningen loggar du ut från Azure DevOps och loggar sedan in i organisationen igen (dev.azure.com/{organizationName} eller organizationName.visualstudio.com) med dina GitHub-autentiseringsuppgifter från en ny webbläsarsession.

F: Jag har loggat in med mina GitHub-autentiseringsuppgifter, men varför kan jag inte bjuda in GitHub-användare?

S: Endast organisations- eller projektadministratörer kan bjuda in nya användare att gå med i organisationen. Du kanske inte har de behörigheter som krävs för att lägga till nya användare. Kontakta administratören för att få de behörigheter som krävs eller be dem att lägga till användaren åt dig.

Nästa steg