Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Dit artikel bevat algemene richtlijnen voor probleemoplossing voor Azure DevOps-servicehook. Het biedt ook antwoorden op veelgestelde vragen (veelgestelde vragen).
Activiteits- en foutopsporingsproblemen weergeven
De pagina Service Hooks in de webtoegangsbeheerder bevat een overzicht van de activiteit van de afgelopen zeven dagen voor elk abonnement. Op de pagina ziet u ook of elk abonnement is ingeschakeld, uitgeschakeld of beperkt.
Voor elk abonnement hebt u toegang tot een gedetailleerde geschiedenis met de volledige aanvraag- en antwoordgegevens voor elke gebeurtenis. Deze informatie kan u helpen bij het opsporen van fouten in een problematische service of abonnement.
Als u de activiteit en status van uw abonnementen wilt bekijken, gaat u naar de pagina Service Hooks.
Als u gedetailleerde activiteit voor een abonnement wilt weergeven, inclusief volledige aanvraag-, antwoord- en gebeurtenispayloadgegevens, selecteert u een abonnement in de tabel en selecteert u vervolgens Geschiedenis.
Abonnementsfouten en proeftijd (beperkt)
Als het HTTP-antwoord op een meldingsaanvraag een fout aangeeft, bepaalt de ernst van de fout hoe Azure DevOps reageert. Bepaalde soorten fouten kunnen abonnementen uitschakelen of ze op proef stellen.
Fouttypen
Fouten van service hook-meldingen worden gegroepeerd in de volgende categorieën:
- Terminalfouten
- Tijdelijke fouten
- Aanhoudende fouten
De foutcode van het HTTP-antwoord bepaalt hoe Azure DevOps de fout categoriseert.
Terminalfouten
De enige HTTP-statuscode die is gecategoriseerd als een terminalfout is 410 (verdwenen).
Wanneer er een terminalfout optreedt in een abonnement, wordt het abonnement automatisch uitgeschakeld, ongeacht de eerdere status.
Tijdelijke fouten
HTTP-antwoorden met de volgende statuscodes worden gecategoriseerd als tijdelijke fouten:
- 408 (time-out van aanvraag)
- 502 (Bad Gateway)
- 503 (service niet beschikbaar)
- 504 (timeout van gateway)
Wanneer er een tijdelijke fout optreedt in een abonnement, probeert Azure DevOps de melding maximaal acht keer opnieuw te verzenden, met een toenemende vertraging tussen elke poging.
De volgende tabel bevat informatie over nieuwe pogingen die worden geprobeerd na een tijdelijke fout. Opgenomen is de geschatte uitsteltijd of de tijd die moet worden gewacht voordat een melding opnieuw wordt verzonden. De maximale uitsteltijd is 60 seconden. In de tabel ziet u ook de totale vertraging voor elke nieuwe poging.
Nummer opnieuw proberen | Uitsteltijd in seconden | Totale vertraging in seconden |
---|---|---|
1 | 1 | 1 |
2 | 2 | 3 |
3 | 4 | 7 |
4 | 8 | 15 |
5 | 16 | 31 |
6 | 32 | 63 |
7 | 60 | 123 |
8 | 60 | 183 |
Als alle nieuwe pogingen voor een melding zijn uitgeput en elke poging resulteert in een tijdelijke fout, wordt de melding niet meer verzonden. In plaats daarvan wordt het gecategoriseerd als een duurzame fout.
Langdurige fouten
Alle andere HTTP-foutcodes, bijvoorbeeld 404 (niet gevonden) en 500 (interne serverfout), leiden tot langdurige fouten.
Wanneer er een langdurige fout optreedt in een abonnement, wordt het abonnement op probatie geplaatst.
Proeftijd
Wanneer een abonnement op proef is, gaan eventuele nieuwe gebeurtenissen verloren. Het systeem voert een beperkt aantal pogingen uit om de mislukte melding opnieuw te verzenden.
De volgende tabel bevat geschatte uitsteltijden en totale probatietijden voor nieuwe pogingen die tijdens een proeftijd worden geprobeerd. Er worden maximaal zeven herhalingspogingen gedaan, en de maximale backoff-tijd voor een herhalingspoging bij proeftijd is 15 uur.
Nummer opnieuw proberen | Uitsteltijd | Totale probatietijd in uren |
---|---|---|
1 | 20 minuten | 0,33 |
2 | 40 minuten | 1 |
3 | 1 uur en 20 minuten | 2.33 |
4 | 2 uur 40 minuten | 5 |
5 | 5 uur en 20 minuten | 10.33 |
6 | 10 uur 40 minuten | 21 |
7 | 15 uur | 36 |
Als het abonnement een positief antwoord ontvangt tijdens een proefperiode, wordt het hersteld naar een volledig geactiveerde status en worden gebeurtenissen opnieuw gepubliceerd. Als alle zeven nieuwe pogingen mislukken, wordt de abonnementsstatus ingesteld op DisabledBySystem.
Veelgestelde vragen
V: Wat is de nettoladinglimiet van een servicehook?
A: De nettoladinglimiet is 2 MB. Grotere payloads veroorzaken een verslechtering van de prestaties en betrouwbaarheid. Als best practice moeten servicehooks de payload beperken tot 2 MB.
V: Wat betekent de status Ingeschakeld (beperkt)?
A: Een abonnement wordt beperkt als er te veel fouten optreden. De status Ingeschakeld (beperkt) is hetzelfde als een proeftijd.
V: Wat betekent de status Uitgeschakeld (vanwege fouten) ?
Een: In de volgende gevallen wordt een abonnement automatisch uitgeschakeld:
- Er is een terminalfout opgetreden.
- Een reeks opeenvolgende fouten treedt op gedurende een langere periode.
Meldingen die tot tijdelijke fouten leiden, worden meerdere keren opnieuw geprobeerd voordat ze duurzame fouten worden gedeclareerd. Langdurige foutmeldingen worden een beperkt aantal keren opnieuw geprobeerd tijdens een proeftijd. Als alle herhaalde pogingen tijdens de proeftijd mislukken, wordt het abonnement uitgeschakeld.
De volgende statuscodes bevatten voorbeelden van elk type fout:
- Tijdelijke: 408 (time-out bij aanvraag), 502 (Bad Gateway), 503 (service niet beschikbaar), 504 (time-out van gateway)
- Terminal: 410 (weg)
- Enduring: Alle fouten die niet tijdelijk of terminal zijn
V: Wat betekent de status Uitgeschakeld (gebruiker heeft project verlaten) ?
A: De gebruiker die het abonnement heeft gemaakt, is geen lid meer van het team.
V: Wat moet ik proberen als een servicehook niet werkt?
A: Controleer de volgende items:
- Controleer of het abonnement is ingeschakeld.
- Controleer of de abonnementsinstellingen juist zijn. Controleer gebeurtenisfilters en acties.
- Bekijk de geschiedenis, vooral als er fouten zijn.
V: Kan ik een gewone projectgebruiker de mogelijkheid verlenen om servicehookabonnementen voor een project te bekijken en te beheren?
A: Standaard hebben alleen projectbeheerders deze machtigingen. Als u ze rechtstreeks aan andere gebruikers wilt verlenen, kunt u het opdrachtregelprogramma of de Security REST API gebruiken.
V: Kan ik programmatisch abonnementen maken?
A: Ja, gebruik REST API's.