Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Dieser Artikel enthält allgemeine Anleitungen zur Problembehandlung für Azure DevOps Diensthaken. Außerdem erhalten Sie Antworten auf häufig gestellte Fragen (FAQs).
Aktivitäten anzeigen und Probleme beheben
Die Seite "Service Hooks" im Webzugriffsadministrator fasst aktivitäten aus den letzten sieben Tagen für jedes Abonnement zusammen. Auf der Seite wird auch angezeigt, ob jedes Abonnement aktiviert, deaktiviert oder eingeschränkt ist.
Für jedes Abonnement können Sie auf einen detaillierten Verlauf zugreifen, der die vollständigen Anforderungs- und Antwortdaten für jedes Ereignis enthält. Diese Informationen können Ihnen beim Debuggen eines problematischen Diensts oder Abonnements helfen.
Um die Aktivität und den Status Ihrer Abonnements anzuzeigen, wechseln Sie zur Seite "Service Hooks ".
Wenn Sie detaillierte Aktivitäten für ein Abonnement anzeigen möchten, einschließlich vollständiger Anforderungs-, Antwort- und Ereignisnutzlastdaten, wählen Sie ein Abonnement in der Tabelle aus, und wählen Sie dann " Verlauf" aus.
Abonnement-Fehler und Bewährung (eingeschränkt)
Wenn die HTTP-Antwort auf eine Benachrichtigungsanforderung einen Fehler angibt, bestimmt der Schweregrad des Fehlers, wie Azure DevOps reagiert. Bestimmte Arten von Fehlern können Abonnements deaktivieren oder in den Wartemodus versetzen.
Fehlertypen
Fehler bei Service-Hook-Benachrichtigungen werden in die folgenden Kategorien eingeteilt:
- Terminalfehler
- Vorübergehende Fehler
- Dauerhafte Fehler
Der Fehlercode aus der HTTP-Antwort bestimmt, wie Azure DevOps den Fehler kategorisiert.
Terminalfehler
Der einzige HTTP-Statuscode, der als Terminalfehler kategorisiert ist, ist 410 (Nicht vorhanden).
Wenn ein Terminalfehler in einem Abonnement auftritt, wird das Abonnement unabhängig vom vorherigen Status automatisch deaktiviert.
Vorübergehende Fehler
HTTP-Antworten mit den folgenden Statuscodes werden als vorübergehende Fehler kategorisiert:
- 408 (Anforderungstimeout)
- 502 (Ungültiges Gateway)
- 503 (Dienst nicht verfügbar)
- 504 (Gateway-Zeitüberschreitung)
Wenn ein vorübergehender Fehler in einem Abonnement auftritt, versucht Azure DevOps, die Benachrichtigung bis zu acht Mal erneut zu senden, wobei die Verzögerung zwischen jedem Versuch erhöht wird.
In der folgenden Tabelle sind Informationen zu Wiederholungen aufgeführt, die nach einem vorübergehenden Fehler versucht werden. Enthalten ist die ungefähre Backoffzeit oder die Wartezeit, bevor versucht wird, eine Benachrichtigung erneut zu senden. Die maximale Backoffzeit beträgt 60 Sekunden. In der Tabelle werden auch die Gesamtverzögerungen für jede Wiederholungsversuch angezeigt.
| Wiederholungsanzahl | Backoffzeit in Sekunden | Gesamtverzögerung in Sekunden |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 3 |
| 3 | 4 | 7 |
| 4 | 8 | 15 |
| 5 | 16 | 31 |
| 6 | 32 | 63 |
| 7 | 60 | 123 |
| 8 | 60 | 183 |
Wenn alle Wiederholungsversuche für eine Benachrichtigung erschöpft sind und jeder Versuch zu einem vorübergehenden Fehler führt, wird die Benachrichtigung nicht mehr gesendet. Stattdessen wird sie als dauerhafter Fehler kategorisiert.
Dauerhafte Fehler
Alle anderen HTTP-Fehlercodes, z. B. 404 (Nicht gefunden) und 500 (Interner Serverfehler), führen zu dauerhaften Fehlern.
Wenn ein dauerhafter Fehler in einem Abonnement auftritt, wird das Abonnement zur Probe gestellt.
Bewährung
Befindet sich ein Abonnement in der Probezeit, gehen alle neuen Ereignisse verloren. Das System führt eine begrenzte Anzahl von Versuchen aus, die fehlgeschlagene Benachrichtigung erneut zu senden.
In der folgenden Tabelle sind ungefähre Backoffzeiten und Gesamtprobezeiten für Wiederholungen aufgeführt, die das System während der Probezeit versucht. Das System unternimmt höchstens sieben Wiederholungsversuche, und die maximale Backoff-Zeit für einen Probezeit-Wiederholungsversuch beträgt 15 Stunden.
| Wiederholungsanzahl | Rückzugszeit | Gesamtbewährungszeit in Stunden |
|---|---|---|
| 1 | 20 Minuten | 0,33 |
| 2 | 40 Minuten | 1 |
| 3 | 1 Stunde 20 Minuten | 2.33 |
| 4 | 2 Stunden 40 Minuten | 5 |
| 5 | 5 Stunden 20 Minuten | 10.33 |
| 6 | 10 Stunden 40 Minuten | 21 |
| 7 | 15 Stunden | 36 |
Wenn das Abonnement während der Probation eine erfolgreiche Antwort erhält, stellt das System es wieder in einen voll aktivierten Zustand zurück und veröffentlicht ereignisse erneut. Wenn alle sieben Wiederholungen fehlschlagen, legt das System den Abonnementstatus auf DisabledBySystem fest.
Abonnements aufgrund von Inaktivität deaktiviert
Azure DevOps deaktiviert automatisch ein Abonnement, wenn die letzte erfolgreiche Benachrichtigungsübermittlung vor mehr als sechs Monaten erfolgte. Das Abonnement empfängt keine Ereignisse mehr, bis ein Benutzer es erneut aktiviert.
Diese Inaktivitätsprüfung berücksichtigt nur die letzte erfolgreiche Übermittlung. Es wird nicht berücksichtigt, wann das Abonnement erstellt oder zuletzt bearbeitet wurde oder wie viele Ereignisse mit dem Abonnement übereinstimmen. Ein Abonnement, das weiterhin Benachrichtigungen erfolgreich übermittelt, ist aufgrund der Inaktivität unabhängig vom Alter nicht deaktiviert. Ein Abonnement ohne aufgezeichnete erfolgreiche Lieferungen ist von der Inaktivitätsprüfung nicht betroffen.
Verwenden von KI zur Problembehandlung eines Diensthakens
Mithilfe des folgenden Beispielprompts für Copilot Chat lässt sich der Fehlercode und die Fehlermeldung von Copilot auflösen. Kopieren Sie diese Eingabeaufforderung, und fügen Sie sie in Copilot Chat ein, und ersetzen Sie den Platzhalter durch Ihre spezifische Fehlermeldung.
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.
Häufig gestellte Fragen
F: Was ist die Nutzlastgrenze eines Diensthakens?
A: Das Nutzlastlimit beträgt 2 MB. Umfangreichere Nutzdaten führen zu Einbußen bei Leistung und Zuverlässigkeit. Als bewährte Methode sollten Service-Hooks die Nutzlast auf 2 MB beschränken.
F: Was bedeutet der Status "Aktiviert" (eingeschränkt) ?
A: Ein Abonnement wird eingeschränkt, wenn zu viele Fehler auftreten. Der Status "Aktiviert" (eingeschränkt) ist identisch mit der Bewährung.
F: Warum kann ein Abonnement deaktiviert werden?
A: Ein Abonnement wird in den folgenden Fällen automatisch deaktiviert:
- Es ist ein Terminalfehler aufgetreten.
- Eine Reihe aufeinander folgender Fehler tritt über einen längeren Zeitraum auf.
- Die letzte erfolgreiche Benachrichtigungsübermittlung war vor mehr als sechs Monaten.
- Der Benutzer, der das Abonnement erstellt hat, ist kein Mitglied des Teams mehr.
F: Was bedeutet der Status "Deaktiviert" (aufgrund von Fehlern) ?
A: Benachrichtigungen, die zu vorübergehenden Fehlern führen, werden mehrmals wiederholt, bevor dauerhafte Fehler deklariert werden. Dauerhafte Fehlerbenachrichtigungen werden während der Probezeit nur eingeschränkt wiederholt. Wenn alle Wiederholungsversuche fehlschlagen, wird das Abonnement deaktiviert.
Die folgenden Statuscodes enthalten Beispiele für jeden Fehlertyp:
- Vorübergehend: 408 (Anforderungstimeout), 502 (Fehlerhaftes Gateway), 503 (Dienst nicht verfügbar), 504 (Gateway-Timeout)
- Terminal: 410 (nicht mehr vorhanden)
- Dauerhaft: Alle Fehler, die nicht vorübergehend oder terminal sind
F: Was bedeutet der Status "Deaktiviert" (aufgrund von Inaktivität)
A: Die letzte erfolgreiche Benachrichtigungsübermittlung des Abonnements war vor mehr als sechs Monaten, sodass sie Azure DevOps deaktiviert wurde. Dieser Zustand unterscheidet sich von „Deaktiviert“ (aufgrund von Fehlern), was bedeutet, dass Azure DevOps einen Zustellversuch unternommen hat und dieser wiederholt fehlgeschlagen ist. Aktivieren Sie das Abonnement erneut, wenn die Integration noch erforderlich ist.
F: Warum sind inaktive Abonnements deaktiviert?
A: Azure DevOps wertet jedes Abonnement aus, wenn ein übereinstimmendes Ereignis veröffentlicht wird, auch wenn die empfangende Integration nicht mehr aktiv ist. Im Laufe der Zeit können Organisationen inaktive Abonnements sammeln, da Pipelines eingestellt sind und Integrationen abgebrochen werden. Einige Organisationen verfügen über zehntausende Abonnements, die in Jahren keine Benachrichtigungen übermittelt haben. Das Deaktivieren inaktiver Abonnements trägt dazu bei, Service-Hooks für Abonnements, die noch genutzt werden, schnell und zuverlässig zu halten.
F: Was bedeutet der Status "Deaktiviert" (Benutzer hat Projekt verlassen)?
Ein: Der Benutzer, der das Abonnement erstellt hat, ist kein Mitglied des Teams mehr.
F: Was kann ich tun, wenn ein Service-Hook nicht funktioniert?
A: Überprüfen Sie die folgenden Elemente:
- Vergewissern Sie sich, dass das Abonnement aktiviert ist.
- Bestätigen Sie, dass die Abonnementeinstellungen korrekt sind. Überprüfen sie Ereignisfilter und -aktionen.
- Sehen Sie sich den Verlauf an, insbesondere, wenn Fehler auftreten.
F: Kann ich einem regulären Projektbenutzer die Möglichkeit gewähren, Service Hook-Abonnements für ein Projekt anzuzeigen und zu verwalten?
A: Standardmäßig verfügen nur Projektadministratoren über diese Berechtigungen. Um sie anderen Benutzern direkt zu gewähren, verwenden Sie das Befehlszeilentool oder die Security REST-API.
F: Kann ich Abonnements programmgesteuert erstellen?
A: Ja, verwenden Sie REST APIs.