Udostępnij za pośrednictwem


Łączenie serwera Azure DevOps Server z usługą GitHub (lokalnie)

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

Po połączeniu projektu Azure DevOps Server z repozytoriami GitHub, można łączyć commity i pull requesty z elementami roboczymi. Usługi GitHub można używać do tworzenia oprogramowania podczas planowania i śledzenia pracy przy użyciu usługi Azure Boards.

Uwaga

Usługa Azure DevOps Server obsługuje integrację z repozytoriami GitHub.com i GitHub Enterprise Server. Aby nawiązać połączenie z usługi Azure DevOps Services, zobacz Łączenie usługi Azure Boards z usługą GitHub.

Wymagania wstępne

Kategoria Wymagania
Uprawnienia — Członek grupy Administratorów Kolekcji Projektu oraz grupy Współpracowników Projektu . Jeśli utworzyłeś projekt, masz uprawnienia.
- administrator serwera GitHub Enterprise Server, z którym nawiązujesz połączenie.
Członkostwo w projekcie członek projektu.
integracja z usługą GitHub — Azure DevOps Server 2020.1.1 Patch 2. Bez tej poprawki można łączyć się tylko z repozytoriami serwera GitHub Enterprise Server.
- aplikacja Azure Boards dla GitHub zainstalowana na organizacjach lub koncie GitHub.

Opcje uwierzytelniania

Obsługiwane są następujące opcje uwierzytelniania:

Uwaga

Protokół OAuth nie jest obsługiwany w przypadku usługi Azure DevOps Server 2020.

Łączenie serwera Azure DevOps Server z serwerem GitHub Enterprise Server

Z projektem usługi Azure Boards można połączyć maksymalnie 250 repozytoriów GitHub.

Uwaga

  • Połączenie z więcej niż 100 repozytoriami GitHub wymaga aktualizacji serwera Azure DevOps Server 2020.1 lub nowszej.
  • Połączenie z repozytoriami GitHub.com wymaga usługi Azure DevOps Server 2020.1.1 Patch 2 lub nowszej wersji.
  1. Otwórz portal internetowy dla serwera Azure DevOps Server.

  2. Wybierz logo usługi Azure DevOps, aby otworzyć projekty, a następnie wybierz projekt usługi Azure Boards, który chcesz skonfigurować w celu nawiązania połączenia z repozytoriami GitHub Enterprise.

  3. Wybierz Ustawienia projektu>Połączenia GitHub.

    Zrzut ekranu przedstawiający otwieranie ustawień projektu, połączeń z usługą GitHub.

  4. Jeśli po raz pierwszy wykonujesz połączenie z projektu, wybierz metodę uwierzytelniania, której chcesz użyć, aby nawiązać połączenie:

    Zrzut ekranu przedstawiający nawiązywanie połączenia po raz pierwszy przy użyciu poświadczeń usługi GitHub.

    W przeciwnym razie wybierz pozycję Nowe połączenie, a następnie wybierz metodę uwierzytelniania w oknie dialogowym Nowe połączenie.

Łączenie serwera Azure DevOps Server za pomocą osobistego tokenu dostępu usługi GitHub

  1. Aby utworzyć osobisty token dostępu usługi GitHub, zobacz Tworzenie tokenu DOSTĘPU w usłudze GitHub.

    Wskazówka

    Podczas tworzenia identyfikatora PAT usługi GitHub upewnij się, że zostały uwzględnione następujące zakresy: repo, admin:repo_hook, read:user, user:email.

  2. Wprowadź adres URL serwera GitHub Enterprise i poświadczenia osobistego tokenu dostępu rozpoznane przez ten serwer. A następnie wybierz pozycję Połącz.

    Zrzut ekranu przedstawiający logowanie się przy użyciu tokenu PAT w usłudze GitHub.

Łączenie serwera Azure DevOps Server przy użyciu poświadczeń usługi GitHub

  1. Wprowadź adres URL serwera GitHub Enterprise i poświadczenia konta administratora rozpoznane przez ten serwer. A następnie wybierz pozycję Połącz.

    Zrzut ekranu przedstawiający logowanie się przy użyciu poświadczeń usługi GitHub.

  2. W oknie dialogowym są wyświetlane wszystkie repozytoria, dla których masz uprawnienia administracyjne usługi GitHub. Możesz przełączać się między elementami Mine i All , aby określić, czy inne są wyświetlane, a następnie sprawdzić te, które chcesz dodać. Po zakończeniu wybierz pozycję Zapisz .

    Zrzut ekranu repozytoriów do dodania.

  3. Aby nawiązać połączenie z kontem GitHub lub organizacją po raz pierwszy z Azure Boards, zainstaluj również aplikację Azure Boards dla GitHub. Wykonaj integrację, postępując zgodnie z procedurami opisanymi w temacie Potwierdzanie połączenia.

Rozwiązywanie problemów z połączeniem

Integracja usługi Azure Boards-GitHub opiera się na różnych protokołach uwierzytelniania do obsługi połączenia. Zmiany zakresu uprawnień użytkownika lub poświadczeń uwierzytelniania mogą spowodować odwołanie repozytoriów GitHub połączonych z usługą Azure Boards.

Aby zapoznać się z omówieniem integracji obsługiwanej przez aplikację Usługi Azure Boards dla usługi GitHub, zobacz Integracja z usługą Azure Boards-GitHub.

Kiedy połączenie usługi Azure Boards z usługą GitHub nie ma już dostępu, wyświetla stan alertu w interfejsie użytkownika z czerwonym iksem. Najedź kursorem na komunikat ostrzegawczy, a zobaczysz, że poświadczenia nie są już prawidłowe. Aby rozwiązać ten problem, usuń połączenie i utwórz ponownie nowe połączenie.

Zrzut ekranu przedstawiający nieudane połączenie.

Rozważ następujące postanowienia:

  • Jeśli połączenie korzysta z protokołu OAuth:

    • Aplikacja usługi Azure Boards odmówiła dostępu dla jednego z repozytoriów.

    • Usługa GitHub może być niedostępna/nieosiągalna. Ta niedostępność może być przyczyną awarii w usłudze lub problemu z infrastrukturą/siecią lokalną. Stan usługi można sprawdzić za pomocą następujących linków:

      Usuń i ponownie utwórz połączenie z repozytorium GitHub. To ponowne utworzenie połączenia powoduje, że usługa GitHub wyświetli monit o ponowne uwierzytelnienie usługi Azure Boards.

  • Jeśli połączenie korzysta z tokenu PAT usługi GitHub:

    • Token dostępu osobistego GitHub został cofnięty lub zmieniono wymagane zakresy uprawnień, które są teraz niewystarczające.

    • Użytkownik może utracić uprawnienia administracyjne w repozytorium GitHub.

      Utwórz ponownie identyfikator PAT usługi GitHub i upewnij się, że zakres tokenu obejmuje wymagane uprawnienia: repo, read:user, user:email, admin:repo_hook.

Aktualizowanie definicji XML dla wybranych typów elementów roboczych

Jeśli Twoja organizacja dostosowuje śledzenie pracy przy użyciu hostowanego modelu procesu XML lub modelu lokalnego XML i chce zintegrować typy linków GitHub z sekcją Rozwój formularzy elementów roboczych, musisz zaktualizować definicje XML odpowiednich typów elementów roboczych.

Aby na przykład połączyć historie użytkowników i usterki z zatwierdzeniami i żądaniami zmian GitHub w sekcji Rozwój formularzy elementów roboczych, musisz zaktualizować definicje XML dla tych typów elementów roboczych.

Aby zmodyfikować definicje XML, wykonaj kroki opisane w temacie Hostowany model przetwarzania XML. Dla każdego typu elementu roboczego:

  1. Znajdź sekcję Group Label="Development" .
  2. Aby obsługiwać typy linków zewnętrznych, GitHub Commit i GitHub Pull Request, dodaj następujące wiersze kodu:

Ta integracja umożliwia bezproblemowe śledzenie działań usługi GitHub bezpośrednio z elementów roboczych w usłudze Azure Boards.

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

Po zaktualizowaniu sekcja powinna być wyświetlana w następujący sposób.

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

Następne kroki