Řešení potíží se servisními háky

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Tento článek obsahuje obecné pokyny k řešení potíží pro připojení služby Azure DevOps. Poskytuje také odpovědi na nejčastější dotazy.

Zobrazit aktivitu a ladit problémy

Stránka Služba Hooků ve správci webového rozhraní shrnuje aktivitu za posledních 7 dnů pro každé předplatné. Na stránce se také zobrazuje, jestli je každé předplatné povolené, zakázané nebo omezené.

Pro každé předplatné máte přístup k podrobné historii, která zahrnuje kompletní data požadavků a odpovědí pro každou událost. Tyto informace vám můžou pomoct s laděním problematické služby nebo předplatného.

  1. Pokud chcete zobrazit aktivitu a stav vašich předplatných, přejděte na stránku Služba Hooky.

    Screenshot stránky háků služby zobrazující stav, status a další data pro předplatná. Nastavení projektu a háky služby jsou zvýrazněné.

  2. Pokud chcete zobrazit podrobnou aktivitu pro předplatné, včetně úplných dat žádosti, odpovědi a datové části události, vyberte odběr v tabulce a pak vyberte Historie.

    Snímek obrazovky znázorňující historii odběru s podrobnými informacemi o neúspěšné události, jako je stav, zpráva a chybová zpráva

Selhání předplatného a zkušební doba (omezená)

Pokud odpověď HTTP na požadavek na oznámení indikuje chybu, závažnost selhání určuje, jak Azure DevOps reagovat. Určité typy selhání mohou deaktivovat předplatná nebo je umístit do provizoria.

Typy selhání

Selhání z notifikací servisních háků jsou seskupená do následujících kategorií:

  • Selhání terminálu
  • Přechodná selhání
  • Trvalá selhání

Kód chyby z odpovědi HTTP určuje, jak Azure DevOps selhání kategorizuje.

Selhání terminálu

Jediný stavový kód HTTP, který je zařazený jako terminální chyba, je 410 (neexistuje).

Pokud dojde k selhání terminálu v předplatném, předplatné se automaticky zakáže bez ohledu na předchozí stav.

Přechodná selhání

Odpovědi HTTP s následujícími stavovými kódy jsou kategorizovány jako přechodné selhání:

  • 408 (vypršení časového limitu požadavku)
  • 502 (chybná brána)
  • 503 (Služba není k dispozici)
  • 504 (vypršení časového limitu brány)

Pokud v předplatném dojde k přechodnému selhání, Azure DevOps se pokusí oznámení znovu odeslat až osmkrát a mezi každým pokusem se zvýší zpoždění.

Následující tabulka uvádí informace o opakování pokusů, která se provádějí po přechodném selhání. Součástí je přibližná doba obnovení nebo doba čekání před pokusem o opětovné odeslání oznámení. Maximální doba odloženého zpoždění je 60 sekund. Tabulka také zobrazuje celkové zpoždění každého opakování.

Počet pokusů o opakování Čekací doba v sekundách Celková prodleva v sekundách
1 1 1
2 2 3
3 4 7
4 8 15
5 16 31
6 32 63
7 60 123
8 60 183

Pokud jsou všechny pokusy o oznámení vyčerpány a výsledkem každého pokusu je přechodné selhání, oznámení se už neposílají. Místo toho se kategorizuje jako trvalé selhání.

Trvalá selhání

Všechny ostatní kódy selhání HTTP, například 404 (Nenalezena) a 500 (Vnitřní chyba serveru), vedou k trvalým selháním.

Pokud v předplatném dojde k trvalému selhání, je předplatné umístěno do zkušební doby.

Zkušební lhůta

Když je odběr na zkušební verzi, všechny nové události se ztratí. Systém provede omezený počet pokusů o opětovné odeslání neúspěšného oznámení.

V následující tabulce jsou uvedeny přibližné časy čekání a celková doba zkušebního období pro opakované pokusy, které jsou podniknuty během probace. Pokusí se maximálně sedm opakování a maximální doba čekání pro zkušební opětovný pokus je 15 hodin.

Počet pokusů o opakování Doba čekání Celková doba zkušební doby v hodinách
1 20 minut 0.33
2 40 minut 1
3 1 hodina 20 minut 2.33
4 2 hodiny 40 minut 5
5 5 hodin 20 minut 10,33
6 10 hodin 40 minut 21
7 15 hodin 36

Pokud odběr během zkušební doby obdrží úspěšnou odpověď, obnoví se do plně aktivního stavu a události jsou znovu publikovány. Pokud všechny sedm opakování selže, stav předplatného se nastaví na DisabledBySystem.

Řešení potíží s hákem služby pomocí AI

Následující příklad zadání pro Copilot Chat vám pomůže Copilotu řešit potíže s vaším chybovým kódem a zprávou. Zkopírujte a vložte tuto výzvu do Copilot Chat a nahraďte zástupný text konkrétní chybovou zprávou.

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.

Nejčastější dotazy

Otázka: Jaký je limit zatížení pro hák služby?

A: Limit pro datový přenos je 2 MB. Větší datové zatížení způsobuje zhoršení výkonu a spolehlivosti. Service hooky by měly mít jako osvědčený postup datovou část omezenou na 2 MB.

Otázka: Co znamená stav Povoleno (omezeno)?

A: Pokud dojde k příliš velkému počtu selhání, předplatné se omezí. Být ve stavu povoleném (omezeném) je totéž jako být ve zkušební době.

Otázka: Co znamená stav Zakázáno (kvůli selháním)?

A: Předplatné se automaticky zakáže v následujících případech:

  • Došlo k chybě terminálu.
  • Řada po sobě jdoucích selhání se vyskytuje v delším období.

Oznámení, která vedou k přechodným selháním, se několikrát opakuje, než se deklarují trvalá selhání. Trvalá oznámení o selhání jsou během zkouškového období opakovaně zkoušena. Pokud všechny pokusy o nápravu selžou, předplatné se deaktivuje.

Následující stavové kódy obsahují příklady jednotlivých typů selhání:

  • Přechodné: 408 (vypršení časového limitu požadavku), 502 (chybná brána), 503 (nedostupná služba), 504 (vypršení časového limitu brány)
  • Terminál: 410 (Ztracený)
  • Trvalá: Všechna selhání, která nejsou přechodná nebo terminálová

Otázka: Co znamená stav Zakázáno (projekt ponecháný uživatelem)?

A: Uživatel, který předplatné vytvořil, už není členem týmu.

Otázka: Co mám zkusit, když nefunguje připojení služby?

A: Zkontrolujte následující položky:

  • Ověřte, že je předplatné povolené.
  • Ověřte správnost nastavení předplatného. Zkontrolujte filtry a akce událostí.
  • Podívejte se na historii, zvláště pokud došlo k chybám.

Otázka: Můžu uživateli běžného projektu udělit možnost zobrazit a spravovat předplatná háku služby pro projekt?

A: Ve výchozím nastavení mají tato oprávnění jenom správci projektu. Pokud jim chcete udělit přístup přímo jiným uživatelům, můžete použít nástroj příkazového řádku nebo rozhraní REST API zabezpečení .

Otázka: Můžu programově vytvářet předplatná?

A: Ano, použijte rozhraní REST API.