Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Ten artykuł zawiera ogólne wskazówki dotyczące rozwiązywania problemów z punktami zaczepienia usługi Azure DevOps. Zawiera również odpowiedzi na często zadawane pytania.
Wyświetlanie aktywności i debugowanie problemów
Strona Service Hooks w panelu administracyjnym dostępu internetowego zawiera podsumowanie aktywności z ostatnich siedmiu dni dla każdej subskrypcji. Strona pokazuje również, czy każda subskrypcja jest włączona, wyłączona, czy ograniczona.
Dla każdej subskrypcji można uzyskać dostęp do szczegółowej historii zawierającej pełne dane żądania i odpowiedzi dla każdego zdarzenia. Te informacje mogą pomóc w debugowaniu problematycznej usługi lub subskrypcji.
Aby wyświetlić aktywność i stan subskrypcji, przejdź do strony Service Hooks.
Aby wyświetlić szczegółowe działania dla subskrypcji, w tym pełne dane żądania, odpowiedzi i ładunku zdarzenia, wybierz subskrypcję w tabeli, a następnie wybierz pozycję historia.
Błędy subskrypcji i okres próbny (ograniczony)
Jeśli odpowiedź HTTP na żądanie powiadomienia wskazuje błąd, ważność błędu określa sposób reagowania usługi Azure DevOps. Niektóre typy niepowodzeń mogą wyłączać subskrypcje lub umieszczać je w stanie zawieszenia.
Typy błędów
Błędy z powiadomień punktów zaczepienia usługi są pogrupowane w następujące kategorie:
- Błędy terminalu
- Awarie przejściowe
- Trwałe błędy
Kod błędu z odpowiedzi HTTP określa, w jaki sposób usługa Azure DevOps kategoryzuje błąd.
Błędy terminalu
Jedynym kodem stanu HTTP, który jest sklasyfikowany jako błąd terminalu, jest 410 (Gone).
Gdy w subskrypcji wystąpi błąd terminalu, subskrypcja zostanie automatycznie wyłączona bez względu na jej poprzedni stan.
Awarie przejściowe
Odpowiedzi HTTP z następującymi kodami stanu są klasyfikowane jako błędy przejściowe:
- 408 (Limit czasu żądania)
- 502 (Zła brama)
- 503 (Usługa niedostępna)
- 504 (Limit czasu bramy)
Gdy w ramach subskrypcji wystąpi błąd przejściowy, usługa Azure DevOps próbuje ponownie wysłać powiadomienie do ośmiu razy z rosnącym opóźnieniem między poszczególnymi próbami.
W poniższej tabeli wymieniono informacje o ponownych próbach po wystąpieniu błędu przejściowego. Uwzględniony jest przybliżony czas wycofywania lub czas oczekiwania przed podjęciem próby ponownego uruchomienia powiadomienia. Maksymalny czas wycofywania wynosi 60 sekund. W tabeli przedstawiono również łączne opóźnienie dla każdej próby ponowienia.
| Numer ponawiania próby | Czas opóźnienia w sekundach | Łączne opóźnienie w sekundach |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 3 |
| 3 | 4 | 7 |
| 4 | 8 | 15 |
| 5 | 16 | 31 |
| 6 | 32 | 63 |
| 7 | 60 | 123 |
| 8 | 60 | 183 |
Jeśli wszystkie ponawianie próby powiadomienia zostaną wyczerpane i każda próba spowoduje wystąpienie błędu przejściowego, powiadomienie nie zostanie już wysłane. Zamiast tego jest klasyfikowany jako trwały błąd.
Trwałe błędy
Wszystkie inne kody błędów HTTP, na przykład 404 (Nie znaleziono) i 500 (wewnętrzny błąd serwera), powodują trwałe błędy.
Gdy w subskrypcji wystąpi trwały błąd, subskrypcja zostanie umieszczona w okresie próbnym.
Okres próbny / Nadzór kuratorski
Gdy subskrypcja jest w okresie próbnym, wszystkie nowe zdarzenia zostaną utracone. System wykonuje ograniczoną liczbę prób ponownego wysłanie powiadomienia, które zakończyło się niepowodzeniem.
W poniższej tabeli wymieniono przybliżone czasy odstąpienia i łączne czasy próbne dla prób ponowienia, które są podejmowane podczas okresu próbnego. Podjęto co najwyżej siedem ponownych prób, a maksymalny czas opóźnienia dla ponownej próby wynosi 15 godzin.
| Numer ponawiania próby | Czas wycofywania | Łączny czas próbny w godzinach |
|---|---|---|
| 1 | 20 minut | 0.33 |
| 2 | 40 minut | 1 |
| 3 | 1 godzina 20 minut | 2.33 |
| 4 | 2 godziny 40 minut | 5 |
| 5 | 5 godzin 20 minut | 10.33 |
| 6 | 10 godzin 40 minut | dwadzieścia jeden |
| 7 | 15 godzin | 36 |
Jeśli subskrypcja otrzyma pomyślną odpowiedź podczas próby, zostanie przywrócona do stanu w pełni włączonego, a zdarzenia zostaną ponownie opublikowane. Jeśli wszystkie siedem ponownych prób nie powiedzie się, stan subskrypcji zostanie ustawiony na DisabledBySystem.
Użyj sztucznej inteligencji do rozwiązywania problemów z hakiem serwisowym
Poniższy przykład monitora dla Copilot Chat pomaga Copilotowi rozwiązać problem z kodem błędu i komunikatem. Skopiuj i wklej ten monit do aplikacji Copilot Chat, zastępując symbol zastępczy określonym komunikatem o błędzie.
I'm getting this Azure DevOps service hook error: [PASTE YOUR ERROR MESSAGE HERE]
Can you help me troubleshoot this issue? Please provide step-by-step instructions to:
1. Identify the root cause
2. Fix the issue
3. Verify the solution works
Context: This is for a service hook in Azure DevOps.
Często zadawane pytania
.: Jaki jest limit ładunku elementu zaczepienia usługi?
A: Limit ładunku wynosi 2 MB. Większe ładunki powodują obniżenie wydajności i niezawodności. Najlepszą praktyką jest ograniczenie ładunku serwisowych haków do 2 MB.
.: Co oznacza stan Włączone (ograniczone)?
A: Subskrypcja staje się ograniczona, jeśli wystąpi zbyt wiele awarii. Bycie w stanie Włączone (ograniczone) jest takie samo jak w okresie próbnym.
Co oznacza stan Wyłączony (z powodu awarii)?
A: Subskrypcja jest automatycznie wyłączona w następujących przypadkach:
- Napotkano błąd terminalu.
- Szereg kolejnych awarii występuje w dłuższym okresie.
Powiadomienia, które powodują błędy przejściowe, są ponawiane kilka razy przed zadeklarowaniem trwałych błędów. Trwałe powiadomienia o niepowodzeniu są ponawiane ograniczoną liczbę razy podczas okresu próbnego. Jeśli wszystkie próby próbne nie ponawiają się, subskrypcja zostanie wyłączona.
Następujące kody stanu zawierają przykłady każdego typu awarii:
- Przejściowy: 408 (limit czasu żądania), 502 (zła brama), 503 (usługa niedostępna), 504 (limit czasu bramy)
- Terminal: 410 (zniknęły)
- Trwałe: wszystkie błędy, które nie są przejściowe lub terminalowe
Jaki jest stan Wyłączone (użytkownik opuścił projekt)?
A: Użytkownik, który utworzył subskrypcję, nie jest już członkiem zespołu.
.: Co należy wypróbować, jeśli punkt zaczepienia usługi nie działa?
A: Sprawdź następujące elementy:
- Potwierdź, że subskrypcja jest włączona.
- Upewnij się, że ustawienia subskrypcji są poprawne. Sprawdź filtry i akcje zdarzeń.
- Przyjrzyj się historii, zwłaszcza jeśli występują błędy.
Czy mogę przyznać zwykłemu użytkownikowi projektu możliwość wyświetlania i zarządzania subskrypcjami webhooków dla projektu?
A: Domyślnie tylko administratorzy projektu mają te uprawnienia. Aby udzielić ich innym użytkownikom bezpośrednio, możesz użyć narzędzia wiersza polecenia lub interfejsu API REST Bezpieczeństwo.