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.
Usługi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
W tym artykule dowiesz się, jak połączyć elementy robocze z zatwierdzeniami GitHub, żądaniami ściągnięcia, gałęziami i kompilacjami po połączeniu projektu Azure Boards z repozytorium GitHub. Użyj składni #mention dla commitów i gałęzi, użyj wzmianek !, aby odwoływać się do pull requestów GitHub w dyskusjach elementów roboczych, lub dodaj bezpośrednio z elementu roboczego w Azure Boards link do commitu, pull requestu lub gałęzi w serwisie GitHub.
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.
Tip
Możesz użyć sztucznej inteligencji do wsparcia tego zadania w dalszej części tego artykułu lub zobacz Włącz pomoc AI w serwerze MCP usługi Azure DevOps aby rozpocząć pracę.
Prerequisites
| Category | Requirements |
|---|---|
| uprawnienia | Masz dostęp współautora zarówno do projektu Azure Boards, jak i repozytorium GitHub. |
| Połączenie projektu | Połącz projekt Azure Boards z repozytorium GitHub zawierającym zatwierdzenia zmian, pull requesty i gałęzie, z którymi chcesz utworzyć połączenie. Aby uzyskać więcej informacji, zobacz Azure Boards-GitHub integration. |
Note
Jeśli projekt używa hostowanego modelu procesu XML, zaktualizuj typy elementów roboczych, aby wyświetlić sekcję Development oraz typy linków GitHub. Aby uzyskać więcej informacji, zobacz Aktualizowanie definicji XML dla wybranych typów elementów roboczych.
Użyj AB#, aby połączyć GitHub z elementami roboczymi Azure Boards.
Użyj wzmianek AB# w tekście GitHub, aby tworzyć linki do elementów roboczych Azure Boards.
Aby utworzyć link:
- Dodaj
AB#{ID}do komunikatu zatwierdzenia, opisu żądania ściągnięcia lub opisu problemu. - Wypchnij commit lub zapisz pull request albo zgłoszenie.
- Otwórz element roboczy, aby potwierdzić, że link zostanie wyświetlony w sekcji Programowanie .
Użycie AB#ID w komentarzu lub w tytule żądania pull request nie tworzy linku do elementu roboczego.
AB#{ID}
Na przykład AB#125 linkuje do elementu roboczego o identyfikatorze 125.
Możesz również przenieść elementy robocze z tekstu zatwierdzenia lub żądania ściągnięcia. Azure Boards rozpoznaje {state} lub {state category} oraz słowa kluczowe, takie jak fix, fixes i fixed, a następnie stosuje takie przejście do następującego po nim odwołania AB#.
Gdy opis żądania ściągnięcia zawiera prawidłową nazwę stanu, na przykład Closed AB#1234, system aktualizuje przywołyny element roboczy do tego określonego stanu. Jeśli nazwa stanu nie jest rozpoznawana bezpośrednio, Azure Boards próbuje dopasować ją do kategorii przepływu pracy, takiej jak Resolved lub Completed. W przypadku znalezienia dopasowania element roboczy przechodzi do pierwszego dostępnego stanu zdefiniowanego w tej kategorii.
Domyślnie elementy robocze, do których odwołują się fix, fixes lub fixed, przechodzą do pierwszego stanu skojarzonego z kategorią Rozwiązane. Jeśli taki stan nie istnieje w bieżącym procesie, system zamiast tego przenosi element roboczy do pierwszego stanu w kategorii Ukończono .
Important
Nadal można połączyć elementy robocze i inne gałęzie, ale reguły przejścia stanu nie mają zastosowania, chyba że żądanie ściągnięcia zostanie scalone z gałęzią domyślną.
Aby uzyskać więcej informacji, zobacz Jak stany kategorii przepływu pracy są używane w listach prac i tablicach Azure Boards.
Skorzystaj z następujących przykładów składających się wyłącznie z linków:
| Komunikat zatwierdzenia lub prośba o pobranie | Action |
|---|---|
AB#123 |
Linki elementu pracy 123 w usłudze Azure Boards. Nie następuje zmiana stanu. |
Adds a new feature, AB#123. |
Łączy z elementem roboczym 123 w Azure Boards. Nie następuje zmiana stanu. |
AB#123, AB#124, and AB#126 |
Łączy elementy robocze 123, 124 i 126 w usłudze Azure Boards. Nie dochodzi do zmiany stanu. |
Fixing multiple bugs: issue #123 and user story AB#234 |
Linki do zgłoszenia GitHub 123 i elementu roboczego Azure Boards 234. Żadne przejścia nie są wykonywane. |
Skorzystaj z następujących przykładów linków i przejść:
| Komunikat zatwierdzenia lub prośba o pobranie | Action |
|---|---|
Fixed AB#123 |
Łączy i przechodzi element roboczy do kategorii 'Rozwiązano' w przepływie pracy lub, jeśli żadna nie jest zdefiniowana, do kategorii 'Ukończono' w przepływie pracy. |
Closed AB#123 |
Łączy i przełącza element roboczy do stanu przepływu pracy Zamknięty. Jeśli żadna z nich nie jest zdefiniowana, żadne przejścia nie zostaną wykonane. |
Adds a new feature, fixes AB#123. |
Łączy i przechodzi element roboczy do kategorii 'Rozwiązano' w przepływie pracy lub, jeśli żadna nie jest zdefiniowana, do kategorii 'Ukończono' w przepływie pracy. |
Fixes AB#123, AB#124, and AB#126 |
Linki do elementów roboczych Azure Boards 123, 124 i 126. Przenosi tylko pierwszy element, 123, do kategorii stanu przepływu pracy Rozwiązane, a jeśli żadna nie jest zdefiniowana, to do kategorii stanu przepływu pracy Ukończone. |
Fixes AB#123, Fixes AB#124, Fixes AB#125 |
Linki do elementów roboczych 123, 124 i 125 w Azure Boards. Przenosi wszystkie elementy do kategorii stanu przepływu pracy Rozwiązany, lub jeśli żadna nie jest zdefiniowana, do kategorii stanu przepływu pracy Ukończono. |
Note
Jeśli połączysz to samo repozytorium GitHub z projektami zdefiniowanymi w co najmniej dwóch organizacjach Azure DevOps, możesz zobaczyć nieoczekiwane łączenie wzmianki AB#. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z połączeniem. Z tego powodu zalecamy połączenie repozytorium GitHub tylko z projektami zdefiniowanymi w jednej organizacji Azure DevOps.
Po dodaniu linku do elementu roboczego przy użyciu AB# w opisie żądania ściągnięcia te linki są wyświetlane w Development sekcji żądania ściągnięcia GitHub. Te linki są dostępne tylko w przypadku użycia AB# w opisie żądania ściągnięcia. Nie są wyświetlane, jeśli odwołujesz się do pull request bezpośrednio od elementu roboczego.
AB# Usunięcie odwołania z opisu spowoduje również usunięcie go z sekcji Programowanie.
Tworzenie gałęzi GitHub na podstawie elementu roboczego
Aby utworzyć gałąź GitHub bezpośrednio z poziomu elementu roboczego, wykonaj następujące kroki:
Na tablicy znajdź element roboczy, którego chcesz użyć do utworzenia gałęzi GitHub.
Wybierz pozycję
Działania elementów roboczych>Nowa gałąź GitHub.
W oknie dialogowym Utwórz gałąź GitHub wprowadź nazwę gałęzi. Wybierz repozytorium GitHub i gałąź podstawową.
Wybierz Utwórz.
Azure Boards tworzy gałąź w określonym repozytorium GitHub i łączy ją z elementem roboczym. Aby uzyskać więcej informacji, zobacz Azure Boards-GitHub integration.
Dodawanie linku elementu roboczego do gałęzi GitHub, zatwierdzenia lub żądania ściągnięcia
Otwórz element roboczy i przejdź do obszaru Programowanie .
Wybierz pozycję Dodaj link. Z każdego menu rozwijanego wybierz typ łącza, repozytorium GitHub i żądanie pull request GitHub. Możesz wyszukiwać i przechodzić do szczegółów w repozytorium, aby znaleźć i wybrać określone żądanie ściągnięcia lub zatwierdzenie bez konieczności kopiowania i wklejania adresu URL.
Wybierz pozycję Dodaj link.
Azure Boards sprawdza, czy wprowadzono prawidłowy link. Repozytorium GitHub musi być połączone z projektem Azure Boards, lub walidacja kończy się niepowodzeniem.
Note
Jeśli używasz Azure DevOps Server i GitHub Enterprise Server, podczas kończenia łączy AB# występuje opóźnienie. Proces używa projektu "pobierania i wysyłania", aby pobrać ze zdarzeń GitHub co godzinę dla przyrostowych zmian zatwierdzeń, żądań ściągnięcia i zgłoszeń.
Aktualizacje linków automatycznych
Kilka zdarzeń automatycznie aktualizuje łącza w formularzu elementu roboczego, więc nie trzeba ich tworzyć ręcznie. Te zdarzenia obejmują:
| wydarzenie GitHub | Action |
|---|---|
| Łącze do gałęzi | Po utworzeniu żądania ściągnięcia z gałęzi automatycznie łączy się z elementem roboczym. |
| Zatwierdzenie scalania | Po scaleniu żądania pull request, wynikowy commit scalający jest automatycznie powiązany z elementem roboczym. |
| Usuń gałąź | Jeśli gałąź zostanie usunięta (zazwyczaj po scaleniu), jego link zostanie automatycznie usunięty z elementu roboczego. |
Wyświetlanie lub otwieranie linków z sekcji Programowanie
Sekcja Rozwój w formularzu elementu roboczego zawiera linki do zatwierdzeń GitHub i żądań ściągnięcia utworzone przy użyciu ikony
GitHub.
Wybierz link, aby otworzyć zatwierdzenie lub pull request na GitHubie.
Wgląd w pull requesty na GitHubie
Powiązane pull requesty GitHub w sekcji Development pokazują dodatkowe szczegóły statusu. Postęp można ocenić bez otwierania pull requestu w serwisie GitHub.
Wymagania wstępne dotyczące szczegółowych informacji o żądaniach ściągnięcia
Aby wyświetlić szczegółowe informacje o żądaniach ściągnięcia, przejdź do aplikacji Azure Boards w GitHub i zaakceptuj zaktualizowane uprawnienia umożliwiające odczyt i zapis do Checks.
Wyświetl szczegóły stanu pull request
Otwórz element roboczy, który ma powiązany pull request GitHub.
W sekcji Rozwój znajdź powiązane żądanie dodania. Następujące szczegóły stanu są wyświetlane obok linku żądania ściągnięcia:
- Stan wersji roboczej: pokazuje, czy żądanie ściągnięcia jest nadal wersją roboczą.
- Stan przeglądu: pokazuje, czy żądanie ściągnięcia wymaga przeglądu, jest zatwierdzone, czy ma żądane zmiany.
- Status kontroli: pokazuje, czy kontrole CI przechodzą, kończą się niepowodzeniem, czy są w trakcie.
Umieść kursor na wskaźniku stanu, aby wyświetlić więcej szczegółów, lub wybierz link żądania ściągnięcia, aby otworzyć go bezpośrednio w GitHub.
Podaj GitHub żądania ściągnięcia przy użyciu !
Użyj ! wzmianki, aby odwołać się do żądań przeciągnięcia na GitHubie bezpośrednio z dowolnego pola z sformatowanym tekstem elementu roboczego lub komentarza w dyskusji. Podczas wpisywania ! w polu tekstowym zostanie wyświetlony selektor, którego można użyć do wyszukiwania i wybrania GitHub żądania ściągnięcia z połączonego repozytorium. Wybrane żądanie ściągnięcia jest wstawione jako link do kliknięcia.
Ta funkcja ułatwia odwoływania się do powiązanych żądań ściągnięcia w opisach elementów roboczych, kryteriach akceptacji lub wątkach dyskusji bez ręcznego kopiowania adresów URL.
Wyświetlanie stanu kompilacji dla potoków YAML (zintegrowane w kompilacji)
Jeśli używasz Azure Pipelines YAML do kompilowania kodu hostowanego w repozytorium GitHub, możesz automatycznie tworzyć Zintegrowane w kompilacji łącza do skojarzonych elementów roboczych. Ta funkcja zapewnia możliwość śledzenia kompilacji dla repozytoriów GitHub, oferując podobne doświadczenie jak to dostępne dla Azure Repos.
Aby włączyć tę funkcję:
Otwórz potok YAML, wybierz pozycję
Więcej akcji, a następnie wybierz pozycję Ustawienia.W oknie dialogowym Ustawienia potoku włącz opcję Automatycznie połącz nowe elementy robocze w tej kompilacji.
Po zakończeniu kompilacji link Zintegrowany w kompilacji zostanie automatycznie wyświetlony w sekcji Rozwój każdego skojarzonego elementu roboczego, co daje zespołowi pełną możliwość śledzenia z elementu roboczego do kompilacji.
Aby uzyskać więcej informacji na temat konfigurowania tego ustawienia, zobacz Konfigurowanie potoków do obsługi śledzenia pracy.
Wyświetlanie obiektów GitHub na tablicy
Po włączeniu na tablicy adnotacji GitHub możesz szybko otwierać powiązane commity, pull requesty lub zgłoszenia, aby uzyskać więcej szczegółów. Aby uzyskać więcej informacji, zobacz Dostosowywanie kart.
Użyj AI do łączenia pracy w serwisie GitHub i zarządzania nią
Jeśli skonfigurujesz serwer Azure DevOps MCP, możesz opisywać w języku naturalnym zadania dotyczące łączenia GitHub z elementami roboczymi zamiast ręcznie przechodzić przez formularz elementu roboczego.
Użyj tych monitów jako przykładów scenariuszy. Obsługiwane operacje różnią się w zależności od skonfigurowanych zestawów narzędzi, wersji rozszerzenia i uprawnień.
Niektóre polecenia mogą zwracać instrukcje zamiast wykonywać operację zapisu albo mogą wymagać kilku poleceń, w zależności od tego, które narzędzia MCP włączono.
Przed uruchomieniem monitu zastąp symbole zastępcze, takie jak <Contoso>, <owner/repo>i <sha> rzeczywistymi wartościami.
Skorzystaj z tego szybkiego procesu uruchamiania i weryfikacji:
- Uruchom jeden prompt z tabeli.
- Przejrzyj odpowiedź na akcję podjętą.
- Otwórz element roboczy i potwierdź wynik w sekcji Programowanie .
- Otwórz powiązany artefakt GitHub i potwierdź oczekiwany link lub aktualizację.
Najpierw wypróbuj te polecenia:
Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha>Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso>
| Zadanie | Przykładowy monit |
|---|---|
| Powiązanie elementu roboczego z pull requestem | Link work item AB#125 in project <Contoso> to GitHub pull request <owner/repo>#42 |
| Połącz element pracy z commitem | Link work item AB#312 in project <Contoso> to GitHub commit <owner/repo>@<sha> |
| Łączenie elementu roboczego z problemem | Link work item AB#500 in project <Contoso> to GitHub issue <owner/repo>#10 |
| Tworzenie gałęzi GitHub na podstawie elementu roboczego | Create a GitHub branch named feature/checkout for work item 500 in project <Contoso> from repo <owner/repo> base branch main |
| Aktualizuj stan powiązanego elementu pracy po scaleniu PR | After PR <owner/repo>#42 merges, update linked work item AB#125 to Resolved |
| Elementy robocze powiązane z łączem zbiorczym | Link all active user stories in area path <Contoso\\Web> to GitHub PR <owner/repo>#42 |
| Znajdź niepowiązane elementy robocze | List all closed work items in project <Contoso> from the last 30 days that have no linked GitHub pull request |
| Podsumowanie działania GitHub dla elementu roboczego | Summarize all GitHub commits and pull requests linked to work item AB#312 in project <Contoso> |
| Dodaj odwołanie AB# do PR | Suggest an AB# reference line to add to PR <owner/repo>#42 description that links to work items 125 and 126 |
| Sprawdź stan powiązanych żądań ściągnięcia | Show the review and check status of all GitHub pull requests linked to active user stories in project <Contoso> |
Note
Jeśli używasz Visual Studio Code, użyj trybu agenta. Azure DevOps operacje serwera MCP wymagają trybu agenta, aby uzyskać dostęp do Azure DevOps danych i wykonywać operacje.
Rozwiązywanie problemów z łączeniem wspomaganym przez sztuczną inteligencję
- Jeśli monit nie zostanie uruchomiony, upewnij się, że tryb agenta jest włączony w kliencie sztucznej inteligencji.
- Jeśli monit zakończy się niepowodzeniem z błędami dostępu, sprawdź, czy Twoje konto ma dostęp do projektu Azure DevOps i repozytorium GitHub.
- Jeśli łącza nie są tworzone, zastąp wszystkie symbole zastępcze (na przykład
<Contoso>, ,<owner/repo><sha>) rzeczywistymi wartościami i ponownie uruchom monit. - Jeśli polecenie zbiorcze się nie powiedzie, najpierw spróbuj ponownie, używając pojedynczego elementu roboczego, a następnie ponów próbę z mniejszą partią.
- Jeśli wyniki nadal nie są zgodne z oczekiwaniami, zweryfikuj wynik w sekcji elementu roboczego Development oraz w powiązanym artefakcie GitHub.