Udostępnij za pośrednictwem


Łączenie Azure Boards z usługą GitHub (chmura)

Azure DevOps Services

Połącz projekt usługi Azure Boards z repozytoriami GitHub.com, aby zatwierdzenia i pull requesty automatycznie łączyły się z elementami roboczymi. Ta integracja umożliwia planowanie i śledzenie pracy w usłudze Azure Boards podczas programowania zespołu w usłudze GitHub.

Po nawiązaniu połączenia można wykonać następujące czynności:

Note

Usługa Azure Boards obsługuje integrację zarówno z GitHub.com, jak i z usługą GitHub Enterprise Server. Aby nawiązać połączenie z lokalnego serwera Azure DevOps Server, zobacz Connect Azure DevOps Server to GitHub Enterprise Server (Łączenie serwera Azure DevOps Server z serwerem GitHub Enterprise Server).

Prerequisites

Category Requirements
uprawnienia — Członek grupy Administratorzy Kolekcji Projektów Jeśli utworzyłeś projekt, masz uprawnienia.
- Administrator lub właściciel repozytorium GitHub do nawiązania połączenia. Możesz nawiązać połączenie z wieloma repozytoriami GitHub, o ile jesteś administratorem tych repozytoriów.
członkostwo w projekcie członek projektu.

Opcje uwierzytelniania

Następujące opcje uwierzytelniania są obsługiwane na podstawie platformy GitHub, z którą chcesz nawiązać połączenie.

GitHub.com

GitHub Enterprise Server

Note

Jeśli połączysz się z PAT (Personal Access Token), skonfiguruj dla niego logowanie jednokrotne (SSO) na swoim koncie GitHub. Logowanie jednokrotne jest wymagane do wyświetlania listy repozytoriów z organizacji korzystającej z uwierzytelniania SAML.

Łączenie Azure Boards z repozytorium GitHub

  1. Zaloguj się do projektu (https://dev.azure.com/{Your_Organization/Your_Project}).

  2. Wybierz pozycję Ustawienia projektu>GitHub połączenia.

     Zrzut ekranu przedstawiający otwieranie ustawień projektu>GitHub connections.

  3. Aby uzyskać połączenie po raz pierwszy, wybierz pozycję Połącz konto usługi GitHub , aby uwierzytelnić się przy użyciu poświadczeń usługi GitHub.

     Zrzut ekranu przedstawiający pierwszy raz nawiązywanie połączenia z GitHub credentials.

    W przypadku kolejnych połączeń wybierz pozycję Nowe połączenie i wybierz metodę uwierzytelniania.

    Aby zamiast tego połączyć się przy użyciu osobistego tokenu dostępu (PAT), zobacz Dodaj połączenie z GitHub za pomocą tokenu PAT. Aby uzyskać informacje o serwerze GitHub Enterprise Server, zobacz Rejestrowanie usługi Azure DevOps w usłudze GitHub jako aplikacji OAuth.

Dodaj połączenie z GitHub przy użyciu poświadczeń GitHub

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

  1. Zaloguj się przy użyciu poświadczeń usługi GitHub. Wybierz konto, na którym jesteś administratorem repozytorium.

  2. Wybierz konto usługi GitHub lub organizację, aby nawiązać połączenie. Na liście są wyświetlane tylko organizacje, których jesteś właścicielem lub którymi zarządzasz.

    Jeśli wszystkie repozytoria organizacji są już połączone, zostanie wyświetlony następujący komunikat:

    Zrzut ekranu przedstawiający komunikat, w którym nie ma więcej repozytoriów do nawiązania połączenia.

  3. Wprowadź poświadczenia GitHub. Jeśli masz włączone uwierzytelnianie dwuskładnikowe, wprowadź kod wysłany przez usługę GitHub i wybierz pozycję Weryfikuj.

Dodawanie repozytoriów GitHub

Po uwierzytelnieniu wybierz repozytoria do nawiązania połączenia.

  1. Zostanie wyświetlone okno dialogowe Dodawanie repozytoriów GitHub i wstępnie wybierze wszystkie repozytoria, w których jesteś administratorem w wybranej organizacji. Wyczyść wszystkie repozytoria, z którymi nie chcesz się łączyć.

    Screenshot przedstawiający repozytoria na GitHubie.

    Tip

    Połącz każde repozytorium GitHub z projektami w jednej organizacji usługi Azure DevOps, aby uniknąć nieoczekiwanego łączenia wzmianki AB# . Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z połączeniem.

    Jeśli wszystkie repozytoria są już połączone z bieżącą lub inną organizacją, zostanie wyświetlony następujący komunikat:

    Zrzut ekranu przedstawiający komunikat, w którym nie ma więcej repozytoriów do nawiązania połączenia.

  2. Wybierz opcję Zapisz.

Potwierdzanie połączenia

  1. Na stronie GitHub wybierz pozycję Zatwierdź, Zainstaluj i autoryzuj.

    Zrzut ekranu przedstawiający potwierdzenie repozytoriów GitHub.

  2. Wprowadź poświadczenia usługi GitHub, aby potwierdzić.

  3. Nowe połączenie zostanie wyświetlone z wybranymi repozytoriami.

Zrzut ekranu przedstawiający listę połączonych repozytoriów.

Aby zmienić konfigurację lub zarządzać aplikacją Azure Boards dla GitHub, zobacz Zmień dostęp repozytorium do Azure Boards.

Dodawanie połączenia GitHub przy użyciu pat

Important

Rozważ użycie bardziej bezpiecznych tokenów Microsoft Entra zamiast bardziej ryzykownych osobowych tokenów dostępu. Aby uzyskać więcej informacji, zobacz Zmniejszanie użycia PAT. Zapoznaj się ze wskazówkami dotyczącymi uwierzytelniania , aby wybrać odpowiedni mechanizm uwierzytelniania dla Twoich potrzeb.

Tip

Podczas tworzenia osobistego tokenu dostępu (PAT) GitHub, uwzględnij następujące zakresy: repo, read:user, user:email, admin:repo_hook.

  1. Wybierz pozycję Osobisty token dostępu w oknie dialogowym Nowe połączenie .

    Zrzut ekranu okna dialogowego Nowe połączenie GitHub, wybierając pozycję Token osobistego dostępu.

    Aby utworzyć GitHub PAT, przejdź do GitHub Ustawienia Dewelopera > Osobiste Tokeny Dostępu.

  2. Wprowadź PAT i wybierz przycisk Połącz.

    Zrzut ekranu przedstawiający wprowadzony token dostępu (PAT).

  3. Wybierz repozytoria, aby nawiązać połączenie. Aby uzyskać szczegółowe informacje, zobacz Dodawanie repozytoriów GitHub.

  4. Na potrzeby pierwszego połączenia zainstaluj aplikację Usługi Azure Boards dla usługi GitHub. Zobacz Potwierdzanie połączenia.

Rejestrowanie Azure DevOps w usłudze GitHub jako aplikacji OAuth

Aby połączyć usługę Azure DevOps z serwerem GitHub Enterprise Server przy użyciu protokołu OAuth, zarejestruj aplikację jako aplikację OAuth. Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji OAuth.

Rejestrowanie usług Azure DevOps

  1. Zaloguj się do portalu internetowego dla serwera GitHub Enterprise Server.

    Ochwyt ekranu logowania dla serwera GitHub Enterprise.

  2. Otwórz Ustawienia>Ustawienia programisty>aplikacje OAuth>Nowa aplikacja OAuth.

    Zrzut ekranu przedstawiający sekwencję dla nowej aplikacji OAuth.

  3. Wprowadź informacje o rejestracji.

    • Adres URL strony głównej — adres URL organizacji.
    • URL zwrotnego wywołania autoryzacji — użyj wzorca {Organization URL}/_admin/oauth2/callback. Przykład: https://dev.azure.com/fabrikam/_admin/oauth2/callback

    Zrzut ekranu przedstawiający aplikację do zarejestrowania.

  4. Wybierz pozycję Zarejestruj aplikację.

  5. Skopiuj identyfikator klienta i klucz tajny klienta , który zostanie wyświetlony dla zarejestrowanej aplikacji OAuth.

    Zrzut ekranu przedstawiający identyfikator klienta i klucz tajny klienta dla zarejestrowanej aplikacji OAuth.

Rejestrowanie konfiguracji protokołu OAuth w usługach Azure DevOps

  1. Zaloguj się do portalu internetowego dla usług Azure DevOps Services.

  2. Wybierz Ustawienia organizacji>Konfiguracje OAuth>Dodaj konfigurację OAuth.

    Zrzut ekranu przedstawiający ustawienia otwórz organizację, konfiguracje protokołu OAuth.

  3. Wprowadź informacje i wybierz pozycję Utwórz.

    Okno dialogowe konfiguracji protokołu OAuth.

Łączenie usług Azure DevOps z serwerem GitHub Enterprise Server

Important

Serwer GitHub Enterprise Server musi być dostępny z Internetu. Sprawdź, czy usługa Azure DNS może rozpoznać nazwę serwera i czy zapora zezwala na dostęp z zakresów adresów IP centrum danych Azure. Typowym błędem jest:

Nie można rozpoznać nazwy zdalnej: "github-enterprise-server.contoso.com"

Jeśli widzisz ten błąd, sprawdź dostępność serwera. Aby uzyskać więcej informacji, zobacz Azure DNS FAQ.

  1. Wybierz Ustawienia projektu>GitHub connections>GitHub Enterprise Server na potrzeby pierwszego połączenia.

    Pierwsze połączenie, opcja GitHub Enterprise Server.

    W przypadku kolejnych połączeń wybierz pozycję GitHub Enterprise Server w oknie dialogowym Nowe połączenie z usługą GitHub .

    Zrzut ekranu okna dialogowego Nowe połączenie GitHub, i wybierz pozycję GitHub Enterprise Server.

  2. Wybierz metodę uwierzytelniania.

    Zrzut ekranu przedstawiający okno dialogowe metody uwierzytelniania.

    Nawiązywanie połączenia za pomocą protokołu OAuth — wybierz konfigurację protokołu OAuth zarejestrowaną w obszarze Rejestrowanie konfiguracji protokołu OAuth, a następnie wybierz pozycję Połącz.

    Zrzut ekranu przedstawiający okno dialogowe Nowe połączenie GitHub Enterprise, połączenie OAuth.

    Połącz się z osobistym tokenem dostępu — wprowadź adres URL serwera GitHub Enterprise Server i pat, a następnie wybierz pozycję Połącz.

    Zrzut ekranu nowego połączenia GitHub Enterprise, okno dialogowe połączenia za pomocą osobistego tokenu dostępu.

    Połącz się przy użyciu poświadczeń usługi GitHub — wprowadź adres URL serwera GitHub Enterprise i poświadczenia administratora, a następnie wybierz pozycję Połącz.

    Oświet ekranu nowego połączenia GitHub Enterprise, okno dialogowe połączenia nazwy użytkownika.

  3. W oknie dialogowym są wyświetlane wszystkie repozytoria, w których masz uprawnienia administracyjne. Przełącz się między Moje a Wszystkie, aby znaleźć dodatkowe repozytoria, wybierz te do dodania, a następnie wybierz Zapisz.

    Zrzut ekranu przedstawiający wymienione repozytoria.

    Tip

    Każde połączenie obsługuje tylko jedną organizację usługi GitHub. Aby połączyć repozytoria z innej organizacji, dodaj oddzielne połączenie.

  4. Na potrzeby pierwszego połączenia zainstaluj aplikację Usługi Azure Boards dla usługi GitHub. Zobacz Potwierdzanie połączenia.

Rozwiązywanie problemów z połączeniem

Integracja usługi Azure Boards–GitHub używa kilku protokołów uwierzytelniania do obsługi połączenia. Zmiany zakresów uprawnień lub poświadczeń mogą odłączyć połączone repozytoria GitHub.

Aby zapoznać się z omówieniem integracji, zobacz Integracja z usługą Azure Boards-GitHub.

Obsługiwane opcje uwierzytelniania

Następujące obsługiwane opcje uwierzytelniania zależą od platformy GitHub, z którą nawiązujesz połączenie:

Platform

GitHub.com

GitHub Enterprise Server

Azure DevOps Services

  • konto użytkownika GitHub.com
  • Osobisty token dostępu (PAT)
  • OAuth
  • osobisty token dostępu
  • GitHub poświadczenia

Azure DevOps Server 2020

Nie dotyczy

  • osobisty token dostępu
  • GitHub poświadczenia

Note

obsługa integracji GitHub:

  • Azure DevOps Services: integruje się zarówno z repozytoriami GitHub.com, jak i GitHub Enterprise Server za pośrednictwem aplikacji Azure Boards na potrzeby GitHub.
  • Azure DevOps Server 2020 i nowszych: obsługuje integrację tylko z repozytoriami GitHub Enterprise Server.
  • Inne repozytoria Git: integracja nie jest obsługiwana.

Nadawanie dostępu do organizacji Azure Boards

Jeśli integracja nie działa zgodnie z oczekiwaniami, sprawdź, czy udzielono ci dostępu do organizacji.

  1. W portalu internetowym usługi GitHub otwórz pozycję Ustawienia z menu profilu.
    Zrzut ekranu przedstawiający otwarty profil, wybierz pozycję Ustawienia.

  2. Wybierz pozycję Applications w obszarze Integrations>Authorized OAuth Apps>Azure Boards.

  3. W obszarze Dostęp do organizacji wybierz pozycję Udziel dla dowolnej organizacji, która pokazuje oczekujące żądanie dostępu.

    Zrzut ekranu przedstawiający dostęp do organizacji z organizacjami bez dostępu.

Rozwiązywanie problemów z dostępem

Gdy połączenie usługi Azure Boards z usługą GitHub utraci dostęp, w interfejsie użytkownika pojawi się alert red-X. Zatrzymaj wskaźnik myszy na alercie, aby potwierdzić, że poświadczenia nie są już prawidłowe. Usuń połączenie i utwórz nowe.

Zrzut ekranu przedstawiający nieudane połączenie.

  • Połączenia OAuth:

    • Odmowa dostępu do usługi Azure Boards dla jednego z repozytoriów.

    • Usługa GitHub lub Azure DevOps może być niedostępna z powodu awarii usługi lub problemu z siecią. Sprawdzanie stanu: GitHub | Azure DevOps

      Usuń i utwórz ponownie połączenie. Usługa GitHub wyświetla monit o ponowne uwierzytelnienie usługi Azure Boards.

  • Połączenia pat:

    • PAT został cofnięty lub jego zakresy uprawnień są niewystarczające.

    • Użytkownik może nie mieć uprawnień administratora w repozytorium GitHub.

      Utwórz ponownie PAT z wymaganymi zakresami: repo, read:user, user:email, admin:repo_hook. Aby uzyskać więcej informacji, zobacz Najlepsze praktyki dotyczące korzystania z PATs.

Rozwiązywanie problemów z przerwanym połączeniem GitHub Enterprise Server

Jeśli przeprowadzono migrację z usługi Azure DevOps Server do usług Azure DevOps Services przy użyciu istniejącego połączenia z serwerem GitHub Enterprise Server, wzmianki o elementach roboczych w usłudze GitHub mogą być opóźnione lub brakujące, ponieważ adres URL wywołania zwrotnego nie jest już prawidłowy.

  • Usuń i ponownie utwórz połączenie — wykonaj kroki opisane w artykule Łączenie usług Azure DevOps Services z serwerem GitHub Enterprise Server.

  • Napraw adres URL elementu webhook — w ustawieniach repozytorium GitHub zaktualizuj adres URL elementu webhook w celu wskazania zmigrowanej organizacji: https://dev.azure.com/{OrganizationName}/_apis/work/events?api-version=5.2-preview

Nawiązywanie połączenia z wieloma organizacjami Azure DevOps

Połączenie repozytorium GitHub z projektami w wielu organizacjach usługi Azure DevOps (na przykład dev.azure.com/Contoso i dev.azure.com/Fabrikam) może spowodować nieoczekiwane zachowanie wzmianki AB#. Identyfikatory elementów roboczych nie są unikatowe w organizacjach, więc AB#12 może odpowiadać elementowi roboczemu w jednej z organizacji. Obie organizacje mogą próbować połączyć się z pasującym identyfikatorem, co powoduje zamieszanie.

Aby uniknąć tego problemu, połącz każde repozytorium GitHub tylko z jedną organizacją usługi Azure DevOps.

Note

Aplikacja Usługi Azure Boards dla usługi GitHub uniemożliwia nawiązywanie połączeń z wieloma organizacjami. Jeśli repozytorium jest połączone z niewłaściwą organizacją, skontaktuj się z właścicielem tej organizacji, aby usunąć połączenie przed dodaniem go do właściwej organizacji.

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

Jeśli organizacja używa hostowanego kodu XML lub lokalnego modelu przetwarzania XML, zaktualizuj definicje XML dla typów elementów roboczych, aby wyświetlić typy linków Usługi GitHub w sekcji Programowanie formularzy elementów roboczych.

Aby na przykład połączyć historyjki użytkownika i błędy z zatwierdzeniami i pull requestami GitHub z sekcji Development, zaktualizuj definicje XML dla tych typów elementów roboczych.

Wykonaj kroki opisane w temacie Hostowany model procesu XML. Znajdź sekcję Group Label="Development" dla każdego rodzaju elementu roboczego i dodaj następujące wiersze, obsługujące typy linków GitHub Commit i GitHub Pull Request:

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

Po zaktualizowaniu sekcja powinna wyglądać następująco:

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

FAQs

Pyt.: Niektórzy użytkownicy Azure DevOps mają tożsamości GitHub. Czy muszę dodać je jako nowych użytkowników GitHub do mojej organizacji?

Odpowiedź: Nie. Wyloguj użytkowników, a następnie zaloguj się ponownie do organizacji przy użyciu poświadczeń usługi GitHub z nowej sesji przeglądarki.

Pyt.: Jestem administratorem organizacji i włączyłem zasady zapraszania użytkowników GitHub. Dlaczego nie mogę zaprosić nowych użytkowników GitHub?

Wyloguj się z Azure DevOps i zaloguj się ponownie do organizacji (dev.azure.com/{organizationName} lub organizationName.visualstudio.com) przy użyciu poświadczeń GitHub z nowej sesji przeglądarki.

Pyt.: Zalogowałem się przy użyciu moich poświadczeń GitHub, ale dlaczego nie mogę zaprosić użytkowników GitHub?

1: Tylko administratorzy organizacji lub projektu mogą zapraszać nowych użytkowników. Skontaktuj się z administratorem, aby uzyskać uprawnienia lub poprosić go o dodanie użytkownika.

Pyt.: Czy użytkownicy GitHub Enterprise uzyskują bezpłatny dostęp do Azure DevOps?

Odpowiedź: Aby uzyskać więcej informacji, zobacz Użytkownik i zarządzanie uprawnieniami — często zadawane pytania/GitHub Enterprise.

Następne kroki