webhooks

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

Les webhooks permettent d’envoyer une représentation JSON d’un événement à n’importe quel service. Il suffit simplement d’un point de terminaison public (HTTP ou HTTPS).

Pour plus d’informations sur les charges utiles JSON publiées par ce consommateur, consultez événements.

Prérequis

Seuls les propriétaires de l’organisation ou la collection de projets Administration istrateurs peuvent gérer des webhooks pour une organisation.

Envoyer une représentation JSON à un service

  1. Accédez à la page des hooks du service de projet :

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

    Capture d’écran de la version la plus récente de la page d’administration de projet

    Sélectionnez Créer l'abonnement.

  2. Sélectionnez et configurez l’événement Azure DevOps Services :

    Configurer la boîte de dialogue d’événement

  3. Configurez ce qu’il faut faire lorsque l’événement se produit :

    Consultez le Q &A suivant pour plus d’informations sur les détails de la ressource à envoyer, messages à envoyer et messages détaillés pour envoyer des paramètres.

    Boîte de dialogue Configurer l’action

  4. Testez l’abonnement de hook de service et terminez l’Assistant :

    Testez-le

Le webhook est maintenant configuré. Accédez au service cible pour afficher la représentation JSON :

Afficher la représentation JSON

Tarification

Azure DevOps ne facture pas l’intégration de l’infrastructure à des services externes. Consultez le site du service spécifique pour connaître les tarifs liés à ses services.

Questions et réponses

Q : Quels sont les détails de la ressource à envoyer, messages à envoyer et messages détaillés pour envoyer des paramètres ?

R : Ils contrôlent la taille de la charge utile JSON envoyée.

Les détails de la ressource à envoyer contrôlent la quantité de ressource envoyée. La valeur par défaut est All, mais vous pouvez également choisir d’envoyer minimal (envoie uniquement des champs clés tels que l’URL et l’ID) ou Aucun.

Aucun et Minimal sont utiles dans les scénarios où l’appelant n’a pas réellement besoin de beaucoup, le cas échéant, sur la ressource, car elle s’appuie sur le message ou le message détaillé. Aucun et Minimal sont également utiles pour des raisons de sécurité, par exemple, l’appelant doit rappeler dans Azure DevOps Services et passer par des case activée de sécurité/autorisation normales pour obtenir plus de détails sur la ressource.

Exemple de code JSON :

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

Q : Puis-je créer des abonnements par programmation ?

R : Oui, voir les détails ici.

Q : Puis-je envoyer des webhooks à des points de terminaison non HTTPS ?

R : Oui. Toutefois, il est recommandé d’utiliser uniquement des points de terminaison HTTPS pour vos webhooks. L’utilisation de HTTP signifie qu’il existe un risque d’envoi de données privées non chiffrées. Cela inclut tous les en-têtes d’authentification dans votre webhook.

Q : Puis-je utiliser l’authentification de base lors de la configuration d’un webhook qui n’est pas HTTPS ?

R : Non. Vous devez utiliser HTTPS lors de l’utilisation de l’authentification de base sur un webhook.

Q : Pouvons-nous utiliser des adresses IP de plage locale ou spéciale comme cibles webhook ?

R : Non. Les webhooks ne peuvent pas cibler localhost (bouclage) ou des adresses IPv4/IPv6 de plage spéciale.