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 Server | Azure DevOps Server 2022
Po połączeniu projektu Azure DevOps Server z repozytoriami GitHub jest obsługiwane łączenie między zatwierdzeniami GitHub a pull requestami z elementami roboczymi. Możesz użyć GitHub do tworzenia oprogramowania podczas planowania i śledzenia pracy przy użyciu Azure Boards.
Note
Azure DevOps Server obsługuje integrację z repozytoriami GitHub.com i GitHub Enterprise Server. Aby nawiązać połączenie z usług Azure DevOps, zobacz Połączenie Azure Boards z GitHub.
Prerequisites
| Category | Requirements |
|---|---|
| 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 GitHub | - Azure DevOps Server 2020.1.1 Patch 2. Bez tej poprawki można łączyć się tylko z repozytoriami GitHub Enterprise Server. - Aplikacja Azure Boards dla GitHub zainstalowana w organizacjach lub koncie GitHub. |
Opcje uwierzytelniania
Obsługiwane są następujące opcje uwierzytelniania:
Note
Uwierzytelnianie OAuth nie jest obsługiwane w Azure DevOps Server 2020.
Łączenie Azure DevOps Server z serwerem GitHub Enterprise Server
Z projektem Azure Boards można połączyć maksymalnie 250 repozytoriów GitHub.
Otwórz portal internetowy dla Azure DevOps Server.
Wybierz logo
Azure DevOps, aby otworzyć Projects, a następnie wybierz projekt Azure Boards, który chcesz skonfigurować w celu nawiązania połączenia z repozytoriami GitHub Enterprise.Wybierz pozycję Ustawienia projektu>GitHub połączenia.
Jeśli po raz pierwszy wykonujesz połączenie z projektu, wybierz metodę uwierzytelniania, której chcesz użyć, aby nawiązać połączenie:
- Token osobisty GitHub: Aby uzyskać szczegółowe informacje, zobacz Jak połączyć się, korzystając z osobistego tokena dostępu GitHub.
- GitHub credentials: Aby uzyskać szczegółowe informacje, zobacz Połączenie przy użyciu poświadczeń GitHub.
W przeciwnym razie wybierz pozycję
Nowe połączenie, a następnie wybierz metodę uwierzytelniania w oknie dialogowym Nowe połączenie.
Łączenie Azure DevOps Server z osobistym tokenem dostępu GitHub
Aby utworzyć GitHub PAT, zobacz Tworzenie GitHub PAT.
Tip
Podczas tworzenia GitHub PAT upewnij się, że uwzględniasz następujące zakresy:
repo, admin:repo_hook, read:user, user:email.Wprowadź adres URL serwera GitHub Enterprise oraz dane uwierzytelniające Personal access token akceptowane przez ten serwer. A następnie wybierz pozycję Połącz.
Połącz Azure DevOps Server przy użyciu poświadczeń GitHub
Wprowadź adres URL serwera GitHub Enterprise i poświadczenia konta administratora rozpoznane przez ten serwer. A następnie wybierz pozycję Połącz.
W oknie dialogowym są wyświetlane wszystkie repozytoria, dla których masz GitHub prawa administracyjne. 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 .
Aby nawiązać połączenie z kontem GitHub lub organizacją z Azure Boards po raz pierwszy, 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 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 Azure Boards.
Aby zapoznać się z przeglądem integracji aplikacji Azure Boards dla GitHub, zobacz Azure Boards-GitHub integration.
W interfejsie użytkownika jest wyświetlany stan alarmowy z czerwonym X, gdy połączenie Azure Boards z GitHub traci dostęp. 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.
Rozważ następujące postanowienia:
Jeśli połączenie korzysta z protokołu OAuth:
Aplikacja Azure Boards odmówiła dostępu dla jednego z repozytoriów.
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. Ponowne utworzenie tego połączenia powoduje, że GitHub poprosi o ponowne uwierzytelnienie w Azure Boards.
Jeśli połączenie korzysta z GitHub PAT:
GitHub pat został odwołany lub wymagane zakresy uprawnień zostały zmienione i są niewystarczające.
Użytkownik może utracić uprawnienia administracyjne w repozytorium GitHub.
Utwórz ponownie GitHub pat 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 procesów XML lub lokalnego modelu procesu XML i chce zintegrować typy łączy GitHub z sekcją Tworzenie 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 błędy z zatwierdzeniami i żądaniami ściągnięcia w GitHub w sekcji Development formularzy elementów roboczych, należy 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:
- Znajdź sekcję
Group Label="Development". - 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ń GitHub z poziomu elementów roboczych w 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>