webhooks

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Webhooks bieten eine Möglichkeit, eine JSON-Darstellung eines Ereignisses an einen beliebigen Dienst zu senden. Alles, was erforderlich ist, ist ein öffentlicher Endpunkt (HTTP oder HTTPS).

Weitere Informationen zu den JSON-Nutzlasten, die von diesem Consumer bereitgestellt werden, finden Sie unter Ereignisse.

Voraussetzungen

Nur Organisationsbesitzer oder Project Sammlungsadministratoren können Webhooks für eine Organisation verwalten.

Senden einer JSON-Darstellung an einen Dienst

  1. Wechseln Sie zur Projektdienst-Hooks-Seite :

    https://{orgName}/{project_name}/_settings/serviceHooks

    Screenshot of the most recent version of the Project administration page

    Klicken Sie auf Abonnement erstellen.

  2. Wählen Sie das Azure DevOps Services Ereignis aus, und konfigurieren Sie es:

    Configure the event dialog box

  3. Konfigurieren Sie, was beim Auftreten des Ereignisses zu tun ist:

    Weitere Informationen zu den zu sendenden Ressourcendetails, nachrichten zum Senden und detaillierten Nachrichten zum Senden von Einstellungen finden Sie in den folgenden F & A.

    Configure the action dialog box

  4. Testen Sie das Dienst-Hook-Abonnement, und beenden Sie den Assistenten:

    Test it

  1. Wechseln Sie zur Seite "Service Hooks":

    https://dev.azure.com/{orgName}/{project_name}/_apps/hub/ms.vss-servicehooks-web.manageServiceHooks-project

    Screenshot of the Project administration page

    Klicken Sie auf Abonnement erstellen.

  2. Wählen Sie das Azure DevOps Services Ereignis aus, und konfigurieren Sie es:

    Configure the event dialog box

  3. Konfigurieren Sie, was beim Auftreten des Ereignisses zu tun ist:

    Weitere Informationen zu den zu sendenden Ressourcendetails, nachrichten zum Senden und detaillierten Nachrichten zum Senden von Einstellungen finden Sie in den folgenden F & A.

    Configure the action dialog box

  4. Testen Sie das Dienst-Hook-Abonnement, und beenden Sie den Assistenten:

    Test it

Jetzt ist der Webhook eingerichtet. Wechseln Sie zum Zieldienst, um die JSON-Darstellung anzuzeigen:

View the JSON representation

Preise

Azure DevOps berechnet das Framework nicht für die Integration in externe Dienste. Schauen Sie sich die Website des jeweiligen Diensts für preise im Zusammenhang mit ihren Diensten an.

Fragen und Antworten (Q & A)

F: Was sind die Ressourcendetails zum Senden, Senden von Nachrichten und detaillierte Nachrichten zum Senden von Einstellungen?

A: Sie steuern die Größe der gesendeten JSON-Nutzlast.

Die Ressourcendetails zum Senden von Einstellungssteuerelementen, wie viel der Ressource gesendet wird. Der Standardwert ist "Alle", aber Sie können auch "Minimal " senden (nur Schlüsselfelder wie URL und ID) oder "None" senden.

Keine und Minimal sind in Szenarien nützlich, in denen der Aufrufer nicht wirklich viel benötigt, wenn etwas über die Ressource, da er auf die Nachricht oder die detaillierte Nachricht angewiesen ist. Keine und Minimal sind auch aus Sicherheitsgründen nützlich, z. B. muss der Aufrufer zurück in Azure DevOps Services aufrufen und normale Sicherheits-/Berechtigungsüberprüfungen durchlaufen, um weitere Details zur Ressource zu erhalten.

JSON-Beispielcode:

	{
	    "eventType": "git.push",
	    ...
	    "messages": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "detailedMessage": {
	        "text": "...",
	        "html": "...",
	        "markdown": "..."
	    },
	    "resource": {
	        "id": "...",
	        "url": "https://...",
	        "name": "...",
	        "field1:": "..."
	    }
	}	

F: Kann ich Abonnements programmgesteuert erstellen?

Eine: Ja, weitere Informationen finden Sie hier.

F: Kann ich Webhooks an nicht HTTPS-Endpunkte senden?

A: Ja. Es wird jedoch empfohlen, nur HTTPS-Endpunkte für Ihre Webhooks zu verwenden. Die Verwendung von HTTP bedeutet, dass es ein Potenzial für private Daten gibt, die unverschlüsselt gesendet werden. Dazu gehören alle Authentifizierungsheader in Ihrem Webhook.

F: Kann ich die Standardauthentifizierung verwenden, wenn ich einen Webhook einrichten kann, der nicht HTTPS ist?

A: Nein. Sie müssen HTTPS verwenden, wenn Sie die Standardauthentifizierung in einem Webhook verwenden.

F: Können wir localhost- oder spezielle Bereichs-IPs als Webhook-Ziele verwenden?

A: Nein. Webhooks können nicht auf localhost (Loopback) oder spezielle BereichS-IPv4IPv6-Adressen/ abzielen.