Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- Automatyczne powiązywanie commitów, gałęzi i żądań ściągnięcia z elementami roboczymi
- Monitorowanie postępu programowania bezpośrednio z usługi Azure Boards
- Korzystanie z narzędzia GitHub Copilot z elementami roboczymi na potrzeby programowania wspomaganego przez sztuczną inteligencję
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
Zaloguj się do projektu (
https://dev.azure.com/{Your_Organization/Your_Project}).Wybierz pozycję Ustawienia projektu>GitHub połączenia.
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.
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.
Zaloguj się przy użyciu poświadczeń usługi GitHub. Wybierz konto, na którym jesteś administratorem repozytorium.
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:
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.
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ć.
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:
Wybierz opcję Zapisz.
Potwierdzanie połączenia
Na stronie GitHub wybierz pozycję Zatwierdź, Zainstaluj i autoryzuj.
Wprowadź poświadczenia usługi GitHub, aby potwierdzić.
Nowe połączenie zostanie wyświetlone z wybranymi repozytoriami.
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.
Wybierz pozycję Osobisty token dostępu w oknie dialogowym Nowe połączenie .
Aby utworzyć GitHub PAT, przejdź do GitHub Ustawienia Dewelopera > Osobiste Tokeny Dostępu.
Wprowadź PAT i wybierz przycisk Połącz.
Wybierz repozytoria, aby nawiązać połączenie. Aby uzyskać szczegółowe informacje, zobacz Dodawanie repozytoriów GitHub.
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
Zaloguj się do portalu internetowego dla serwera GitHub Enterprise Server.
Otwórz Ustawienia>Ustawienia programisty>aplikacje OAuth>Nowa aplikacja OAuth.
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
Wybierz pozycję Zarejestruj aplikację.
Skopiuj identyfikator klienta i klucz tajny klienta , który zostanie wyświetlony dla zarejestrowanej aplikacji OAuth.
Rejestrowanie konfiguracji protokołu OAuth w usługach Azure DevOps
Zaloguj się do portalu internetowego dla usług Azure DevOps Services.
Wybierz Ustawienia organizacji>Konfiguracje OAuth>Dodaj konfigurację OAuth.
Wprowadź informacje i wybierz pozycję Utwórz.
Łą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.
Wybierz Ustawienia projektu>GitHub connections>GitHub Enterprise Server na potrzeby pierwszego połączenia.
W przypadku kolejnych połączeń wybierz pozycję GitHub Enterprise Server w oknie dialogowym Nowe połączenie z usługą GitHub .
Wybierz metodę 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.
Połącz się z osobistym tokenem dostępu — wprowadź adres URL serwera GitHub Enterprise Server i pat, a następnie wybierz pozycję Połącz.
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.
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.
Tip
Każde połączenie obsługuje tylko jedną organizację usługi GitHub. Aby połączyć repozytoria z innej organizacji, dodaj oddzielne połączenie.
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.
W portalu internetowym usługi GitHub otwórz pozycję Ustawienia z menu profilu.
Wybierz pozycję Applications w obszarze Integrations>Authorized OAuth Apps>Azure Boards.
W obszarze Dostęp do organizacji wybierz pozycję Udziel dla dowolnej organizacji, która pokazuje oczekujące żądanie 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.
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.