Webhooks
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
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 organization ou les administrateurs de collection de projets peuvent gérer les webhooks pour un organization.
Envoyer une représentation JSON à un service
Accédez à la page Des crochets de service de votre projet :
https://{orgName}/{project_name}/_settings/serviceHooks
Sélectionnez Créer l'abonnement.
Sélectionnez et configurez l’événement Azure DevOps Services :
Configurez ce qu’il faut faire lorsque l’événement se produit :
Pour plus d’informations sur les paramètres des ressources à envoyer, Messages à envoyer et Messages détaillés à envoyer, consultez la Q & A suivante.
Testez l’abonnement au hook de service et terminez l’Assistant :
Accédez à la page Crochets de service de votre projet :
https://dev.azure.com/{orgName}/{project_name}/_apps/hub/ms.vss-servicehooks-web.manageServiceHooks-project
Sélectionnez Créer l'abonnement.
Sélectionnez et configurez l’événement Azure DevOps Services :
Configurez ce qu’il faut faire lorsque l’événement se produit :
Pour plus d’informations sur les paramètres des ressources à envoyer, Messages à envoyer et Messages détaillés à envoyer, consultez la Q & A suivante.
Testez l’abonnement au hook de service et terminez l’Assistant :
Le webhook est maintenant configuré. Accédez au service cible pour afficher la représentation JSON :
Tarifs
Azure DevOps ne facture pas l’infrastructure pour l’intégration à des services externes. Consultez le site du service spécifique pour connaître les tarifs liés à ses services.
Questions-réponses
Q : Quels sont les paramètres Détails des ressources à envoyer, Messages à envoyer et Messages détaillés à envoyer ?
R : Ils contrôlent la taille de la charge utile JSON envoyée.
Le paramètre Détails de la ressource à envoyer contrôle la quantité de la 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 URL et ID) ou Aucun.
None et Minimal sont utiles dans les scénarios où l’appelant n’a pas besoin de beaucoup, voire rien, de la ressource, car il s’appuie sur le message ou le message détaillé. None 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 vérifications 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 ?
Un: Oui, consultez 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 localhost ou de plage spéciale comme cibles de webhook ?
A : Non. Les webhooks ne peuvent pas cibler des adresses IPv6 IPv6/ locales (bouclage) ou des adressesIPv6 de plage spéciale.