Ansluta 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 Ansluta 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 Ansluta Azure Boards till GitHub.
Förutsättningar
-
Integrering med GitHub:
- 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.
- Projektanslutning: Anslut till ett Azure Boards- eller Azure DevOps-projekt. Om du inte har något projekt än skapar du ett.
-
Behörigheter:
- Var medlem i gruppen Projektsamlingsadministratörer och projektets deltagargrupp. Om du har skapat projektet har du behörighet.
- 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
Logga in på webbportalen för din GitHub Enterprise-server.
Välj Inställningar>Utvecklarinställningar>>
Ange din information för att registrera ditt Azure DevOps Server-program.
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å .
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
Välj Registrera program.
En sida visas som innehåller klient-ID och klienthemlighet för ditt registrerade OAuth-program.
Registrera din OAuth-konfiguration i Azure DevOps Server
Logga in på webbportalen för din Azure DevOps Server.
Lägg till GitHub Enterprise Oauth-konfigurationen i din Azure DevOps Server-samling.
Välj >Lägg till Oauth-konfiguration.
Ange din information och välj sedan Skapa.
Ansluta Azure DevOps Server till GitHub Enterprise Server
Du kan ansluta upp till 250 GitHub-lagringsplatser till ett Azure Boards-projekt.
Kommentar
Anslutning till fler än 100 GitHub-lagringsplatser kräver azure DevOps Server 2020.1-uppdatering eller senare version.
Anslutning 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.
Öppna webbportalen för din Azure DevOps Server.
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.
Välj Projektinställningar>GitHub-anslutningar.
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:
- Personlig åtkomsttoken finns i Ansluta med en personlig åtkomsttoken.
- GitHub-autentiseringsuppgifter, se Connect med GitHub-autentiseringsuppgifter.
Annars väljer du Ny anslutning och väljer din autentiseringsmetod i dialogrutan Ny anslutning.
Välj Project-inställningar>GitHub-anslutningar>Anslut ditt GitHub Enterprise-konto eller välj bland de andra autentiseringsalternativen, vilket vi inte rekommenderar.
Ansluta 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.
Ansluta med en personlig åtkomsttoken
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
.Ange URL:en för din GitHub Enterprise-server och autentiseringsuppgifterna för personlig åtkomsttoken som identifieras av servern. Välj sedan Anslut.
Ansluta med GitHub-autentiseringsuppgifter
- Ange URL:en för din GitHub Enterprise-server och autentiseringsuppgifterna för administratörskontot som identifieras av servern. Välj sedan Anslut.
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.
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
- KLAPPA
- GitHub-autentiseringsuppgifter
Azure DevOps Server 2020
Inte tillämpligt
- KLAPPA
- GitHub-autentiseringsuppgifter
Azure DevOps Server 2019
Inte tillämpligt
- OAuth
- KLAPPA
- GitHub-autentiseringsuppgifter
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.
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.
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 har återkallats eller de behörighetsomfång som krävs har ändrats och är otillräckliga.
Användaren kanske förlorade administrativa behö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
. Mer information finns i Metodtips för att använda PAT:er.
Uppdatera XML-definitioner för utvalda typer av arbetsobjekt
Om din organisation anpassar arbetsspårning med hjälp av den värdbaserade XML- eller lokala XML-processmodellen och vill integrera GitHub-länktyper i avsnittet Utveckling i arbetsobjektformulär, måste du uppdatera XML-definitionerna för motsvarande typer av arbetsobjekt.
Om du till exempel vill länka användarberättelser och buggar till GitHub-incheckningar och pull-begäranden i avsnittet Utveckling i arbetsobjektformulär måste du uppdatera XML-definitionerna för dessa typer av arbetsobjekt.
Om du vill ändra XML-definitionerna utför du stegen som beskrivs i en värdbaserad XML-processmodell. För varje typ av arbetsobjekt:
- Leta upp avsnittet
Group Label="Development"
. - Lägg till följande kodrader för att stödja de externa länktyperna GitHub Commit och GitHub Pull Request:
Den här integreringen möjliggör sömlös spårning av GitHub-aktiviteter direkt från dina arbetsobjekt i Azure Boards.
<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>