Partager via


Consommateurs de hook de service

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

Vous pouvez utiliser un hook de service pour effectuer une action sur un service consommateur lorsqu’un événement se produit dans un projet Azure DevOps. Par exemple, un hook de service peut informer un consommateur lorsqu’une build échoue.

Pour configurer un hook de service, vous créez un abonnement qui spécifie l’événement, le consommateur et l’action. Avec certains consommateurs, vous créez un abonnement dans le service consommateur, et non dans Azure DevOps. Cet article fournit des informations sur les paramètres de consommateur que vous utilisez lorsque vous créez un abonnement par programme dans Azure DevOps.

Vous pouvez sélectionner parmi les consommateurs suivants lorsque vous créez un abonnement dans Azure DevOps :

Pour plus d’informations sur ces consommateurs et d’autres que vous pouvez intégrer à des hooks de service, veuillez consulter la section Services disponibles.

Azure Service Bus

Service Bus est un service de messagerie qui facilite la communication asynchrone entre les applications et les services. En tant que consommateur de hooks de service, il assure l’intégration avec les files d’attente et les rubriques Service Bus, ainsi qu’avec les hubs de notification Azure.

Envoyer un message à un hub de notification

Cette action envoie une notification générique de modèle à une instance spécifiée de Notification Hubs.

  • ID du consommateur : azureServiceBus

  • ID d’action : serviceBusNotificationHubSend

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    connectionString Chaîne de connexion SAS La chaîne de connexion de la signature d'accès partagé (SAS) à utiliser pour se connecter au Service Bus. Cette chaîne de connexion est disponible dans le Portail Azure. string Oui
    notificationHubName Nom du hub de notification Nom du hub de notification à laquelle envoyer la notification. Le nom peut contenir uniquement des lettres, des chiffres, des points, des traits d’union, des barres obliques et des traits de soulignement. Le nom doit commencer et se terminer par une lettre ou un chiffre. Le hub doit déjà exister. string Oui
    tagsExpression Balises Expression de balise qui cible un ensemble spécifique d’appareils. Pour plus d’informations, voir Routage et expressions de balise. string Non

Envoyer un message à une file d’attente Service Bus

Cette action envoie une représentation sous forme de chaîne JSON d’un événement à une file d’attente Service Bus spécifiée. Pour plus d’informations, consultez files d’attente, rubriques et abonnements Service Bus.

  • ID du consommateur : azureServiceBus

  • ID d’action : serviceBusQueueSend

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    AuthenticationMechanismInputId Mode d'authentification Mode d’authentification à utiliser : une chaîne de connexion ou une connexion de service. string Non
    ServiceConnectionInputId Connexions de l'Azure Resource Manager ID d’une connexion de service. string Non
    ServiceBusHostNameInputId Nom d’hôte Service Bus Nom d’hôte dans le portail Azure, au format sb://<Service-Bus-name>.servicebus.windows.net. string Non
    connectionString Chaîne de connexion SAS Chaîne de connexion SAP à utiliser pour se connecter à Service Bus. Cette chaîne de connexion est disponible dans le Portail Azure. string Non
    queueName Nom de la file d’attente Nom de la file d’attente à laquelle envoyer le message. Le nom peut contenir uniquement des lettres, des chiffres, des points, des traits d’union, des barres obliques et des traits de soulignement. Le nom doit commencer et se terminer par une lettre ou un chiffre. Si la file d’attente n’existe pas, elle est créée si la chaîne de connexion spécifiée dispose des autorisations nécessaires. string Oui
    bypassSerializer Envoyer en tant que chaîne non sérialisée Option permettant d’envoyer des messages à Service Bus en tant que chaînes non sérialisées au lieu de chaînes sérialisées .NET. Sélectionnez ce paramètre lorsque le récepteur n’est pas un client .NET, par exemple, lorsque le client utilise la bibliothèque cliente Azure pour Node. boolean Non
    resourceDetailsToSend Détails de la ressource à envoyer Nombre de champs de ressources à envoyer à la file d’attente. Les possibilités sont tous les champs possibles, un nombre minimum et aucun. string Non
    messagesToSend Messages à envoyer Types de messages à envoyer à la file d’attente. string Non
    detailedMessagesToSend Messages détaillés à envoyer Types de messages détaillés à envoyer à la file d’attente. string Non

Envoyer un message à une rubrique Service Bus

Cette action envoie une représentation sous forme de chaîne JSON d’un événement à une rubrique Service Bus spécifiée. Pour plus d’informations, consultez Utiliser la Portail Azure pour créer une rubrique Service Bus et des abonnements à la rubrique.

  • ID du consommateur : azureServiceBus

  • ID d’action : serviceBusTopicSend

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    AuthenticationMechanismInputId Mode d'authentification Mode d’authentification à utiliser. string Non
    ServiceConnectionInputId Connexions de l'Azure Resource Manager ID d’une connexion de service. string Non
    ServiceBusHostNameInputId Nom d’hôte Service Bus Nom d’hôte dans le portail Azure, au format sb://{Service-Bus-name}.servicebus.windows.net. string Non
    connectionString Chaîne de connexion SAS Chaîne de connexion SAP à utiliser pour se connecter à Service Bus. Cette chaîne de connexion est disponible dans le Portail Azure. string Non
    topicName Nom de la rubrique Nom de la rubrique à laquelle envoyer le message. Le nom peut contenir uniquement des lettres, des chiffres, des points, des traits d’union, des barres obliques et des traits de soulignement. Le nom doit commencer et se terminer par une lettre ou un chiffre. Si la rubrique n’existe pas, elle est créée si la chaîne de connexion spécifiée dispose des autorisations nécessaires. string Oui
    bypassSerializer Envoyer en tant que chaîne non sérialisée Option permettant d’envoyer des messages à Service Bus en tant que chaînes non sérialisées au lieu de chaînes sérialisées .NET. Sélectionnez ce paramètre lorsque le récepteur n’est pas un client .NET, par exemple, lorsque le client utilise la bibliothèque cliente Azure pour Node. boolean Non
    resourceDetailsToSend Détails de la ressource à envoyer Nombre de champs de ressource à envoyer au sujet. Les possibilités sont tous les champs possibles, un nombre minimum et aucun. string Non
    messagesToSend Messages à envoyer Types de messages à envoyer à la rubrique. string Non
    detailedMessagesToSend Messages détaillés à envoyer Types de messages détaillés à envoyer au sujet. string Non

Azure Storage

Le stockage est une solution de stockage dans le cloud pour divers types de données. Azure Queue Storage fait partie de Storage et fournit des files d’attente de messagerie pouvant servir de consommateurs de hooks de service.

Insérer un message dans une file d’attente de stockage

Cette action insère une représentation sous forme de chaîne JSON d’un événement dans une file d’attente de stockage spécifiée. Pour plus d’informations, consultez Qu’est-ce qu’Azure Queue Storage ?.

  • ID du consommateur : azureStorageQueue

  • ID d’action : enqueue

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    AuthenticationMechanismInputId Mode d'authentification Mode d’authentification à utiliser. string Non
    ServiceConnectionInputId Connexions de l'Azure Resource Manager ID d’une connexion de service. string Non
    accountName Nom du compte de stockage Nom associé à votre compte de stockage. Ce nom est disponible dans le portail Azure. string Oui
    accountKey Clé du compte de stockage Clé associée à votre compte de stockage. string Non
    queueName Nom de la file d’attente Nom en minuscules uniquement de la file d’attente à utiliser dans le stockage. Une file d’attente portant ce nom est créée s’il n’existe pas déjà. string Oui
    visiTimeout Délai d’expiration de la visibilité des messages Valeur du délai d’expiration de visibilité, en secondes, pour le message mis en file d’attente, par rapport à l’heure du serveur. La valeur doit être supérieure ou égale à 0 et ne peut pas être supérieure à sept jours, ou 604 800 secondes. Le délai d’expiration de la visibilité doit être défini sur une valeur inférieure à la valeur de durée de vie du message. number Oui
    ttl Délai de vie du message Intervalle de temps de vie pour le message de file d’attente, en secondes. La valeur maximale que vous pouvez utiliser est de sept jours ou de 604 800 secondes. number Oui
    resourceDetailsToSend Détails de la ressource à envoyer Nombre de champs de ressources à envoyer à la file d’attente. Les possibilités sont tous les champs possibles, un nombre minimum et aucun. string Non
    messagesToSend Messages à envoyer Types de messages à envoyer à la file d’attente. string Non
    detailedMessagesToSend Messages détaillés à envoyer Types de messages détaillés à envoyer à la file d’attente. string Non

Bamboo

Bamboo est un serveur d’intégration continu d’Atlassian.

Mettre une compilation en file d’attente

Cette action met une compilation Bamboo en file d’attente.

  • ID du consommateur : bamboo

  • ID d’action : queueBuild

  • Événements pris en charge : git.push, build.complete, tfvc.checkin

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    serverBaseUrl URL de base de Bamboo URI qui contient le nom d’hôte du serveur Bamboo. uri Oui
    basicAuthCredentials Identifiants de base Informations d’identification standard à utiliser pour s’authentifier auprès du serveur Bamboo. Pour éviter d’envoyer des informations d’identification en texte brut, utilisez le protocole HTTPS pour chiffrer les informations d’identification par le biais du protocole TLS (Transport Layer Security). Nous vous recommandons d’utiliser des principaux de service et des identités managées dans Azure DevOps. string Oui
    planName Plan Nom du plan à mettre en file d’attente. string Oui

Datadog

Datadog est une plateforme de supervision et d’analytique pour les environnements cloud.

Publier un événement dans Datadog

Cette action crée un événement et des métriques correspondantes dans Datadog.

  • ID du consommateur : datadog

  • ID d’action : postEventInDatadog

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    apiKey Clé API Datadog Clé d’accès pour votre compte Datadog. Vous trouverez votre clé API dans le portail Datadog. Accédez à votre profil, puis sélectionnezClés API Paramètres > de l’organisation. string Oui
    accountType Type de compte Datadog Type de votre compte Datadog. Vous pouvez déterminer votre type de compte à partir du nom d’hôte de l’URL utilisée par votre compte Datadog :
    - app.datadoghq.com: US
    - app.datadoghq.eu: EU
    - us3.datadoghq.com: US3
    - us5.datadoghq.com: US5
    - ap1.datadoghq.com: AP1
    - app.dog-gov.com: GOV
    string Oui

Grafana

Grafana est un tableau de bord open source et un éditeur de graphe.

Ajouter une annotation à une base de données Grafana

Cette action crée une annotation dans Grafana.

  • ID du consommateur : grafana

  • ID d’action : addAnnotation

  • Événements pris en charge : ms.vss-release.deployment-completed-event

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    url URL de Grafana URL à utiliser pour publier une annotation dans Grafana. uri Oui
    apiToken jeton d’API Jeton d’accès pour la publication d’annotations dans une base de données Grafana. Pour plus d’informations sur la création d’un jeton, consultez Créer des jetons de compte de service et des tableaux de bord pour une organisation. string Oui
    tags Balises Liste séparée par des virgules des balises à utiliser pour ajouter des annotations. string Oui
    annotationDeploymentDurationWindow Fenêtre de durée de déploiement annotée Option permettant de configurer la fenêtre de durée d’une annotation.
    - Lorsqu’elle est sélectionnée, l’annotation s’applique à l’heure entre le début et l’achèvement du déploiement.
    - Lorsqu’elle n’est pas sélectionnée, l’annotation s’applique à l’achèvement du déploiement.
    boolean Non
    text Texto Description personnalisée d’une annotation. Lorsqu'on ne le spécifie pas, ce paramètre décrit la version et l'état. Ce paramètre peut inclure des liens, tels que <a href="https://www.contoso.com" target="_blank">Contoso</a>. string Non
    dashboardId Tableau de bord ID du tableau de bord à laquelle ajouter l’annotation. Lorsqu’un ID n’est pas spécifié, l’annotation est ajoutée au niveau global. string Non

Jenkins

Jenkins est un serveur d’intégration continu que vous pouvez utiliser pour générer et tester des projets logiciels en continu.

Déclencher une build Git

Cette action utilise le plug-in Git Jenkins pour déclencher une build dans un référentiel Git.

  • ID du consommateur : jenkins

  • ID d’action : triggerGitBuild

  • Événements pris en charge : git.push, git.pullrequest.merged

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    serverBaseUrl URL de base Jenkins URI qui contient le nom d’hôte du serveur Jenkins. uri Oui
    basicAuthCredentials Identifiants de base Informations d’identification HTTP standard. Pour éviter d’envoyer des informations d’identification en texte brut, utilisez le protocole HTTPS pour chiffrer les informations d’identification via TLS. Nous vous recommandons d’utiliser des principaux de service et des identités managées dans Azure DevOps. string Oui
    useTfsPlugin Niveau d’intégration Niveau d’intégration sélectionné, qui est l’une des deux valeurs suivantes :
    - L’API Jenkins intégrée
    - Intégration étendue fournie par le plug-in Azure DevOps Server si ce plug-in est installé sur le serveur Jenkins
    string Non

Déclencher une compilation générique

Cette action déclenche une build Jenkins générique qui appelle l’URL de build Jenkins.

  • ID du consommateur : jenkins

  • ID d’action : triggerGenericBuild

  • Événements pris en charge : git.push, , git.pullrequest.mergedbuild.complete, tfvc.checkinms.vss-release.deployment-completed-event

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    serverBaseUrl URL de base Jenkins URI qui contient le nom d’hôte du serveur Jenkins. uri Oui
    basicAuthCredentials Identifiants de base Informations d’identification HTTP standard. Pour éviter d’envoyer des informations d’identification en texte brut, utilisez le protocole HTTPS pour chiffrer les informations d’identification via TLS. Nous vous recommandons d’utiliser des principaux de service et des identités managées dans Azure DevOps. string Oui
    buildName Construire Nom de la compilation à déclencher. string Oui
    useTfsPlugin Niveau d’intégration Niveau d’intégration sélectionné, qui est l’une des deux valeurs suivantes :
    - L’API Jenkins intégrée
    - Intégration étendue fournie par le plug-in Azure DevOps Server si ce plug-in est installé sur le serveur Jenkins
    string Non
    buildAuthToken Jeton de génération Jeton d’autorisation pour une construction. Seuls les utilisateurs qui connaissent le jeton peuvent déclencher à distance des builds. string Non
    buildParameterized Accepte les paramètres Option qui spécifie si la build accepte les paramètres. boolean Non
    buildParams Paramètres de build Créez des paramètres sous la forme de paires nom-valeur. Dans chaque paire, le nom et la valeur sont séparés par un signe deux-points, comme <parameter>:<value>. Chaque paire nom-valeur s’affiche sur une ligne distincte. string Non

Slack

Slack est une plateforme pouvant faire l’objet d’une recherche pour la communication d’équipe.

Publier un message sur un canal

Cette action publie un message sur un événement sur un canal Slack. Pour plus d’informations, consultez Créer un hook de service pour Azure DevOps avec Slack.

  • ID du consommateur : slack

  • ID d’action : postMessageToChannel

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    url URL de webhook Slack URL du webhook fournie par Slack pour envoyer des requêtes HTTP POST. uri Oui

Trello

Trello est un outil de gestion de projet qui utilise des tableaux, des listes et des cartes pour aider les équipes à suivre les flux de travail.

Créer une carte

Cette action crée une carte sur une liste existante dans Trello. Une carte peut représenter une tâche, un problème, un événement ou d’autres éléments liés au projet. Pour plus d’informations, consultez Créer un hook de service pour Azure DevOps Services et TFS avec Trello.

  • ID du consommateur : trello

  • ID d’action : createCard

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    userToken Jeton utilisateur Jeton utilisateur qui fournit l’accès aux ressources Trello. Pour obtenir un jeton, accédez à la page d’autorisation Trello. string Oui
    boardId Conseil Nom du tableau sur lequel la carte Trello est créée. string Oui
    listId Liste Nom de la liste sur laquelle la carte Trello est créée. string Oui
    labels Libellés Liste séparée par des virgules des couleurs d’étiquette à appliquer à la carte créée. Les noms de couleurs d’étiquette valides sont red, , orangeyellow, green, blueet purple. string Non
    addToTop Créer au début de la liste Option qui indique s’il faut créer la carte au début ou à la fin de la liste Trello. Lorsque ce champ est true, la carte est créée au début. boolean Non
    cardName Nom de la carte Nom de la nouvelle carte. Par défaut, la description textuelle de l’événement est utilisée comme nom. Vous pouvez utiliser des marqueurs de position pour insérer du contenu de l’événement dans le nom de l'événement. Pour plus d’informations, consultez Créer un hook de service pour Azure DevOps Services et TFS avec Trello. string Non
    cardDescription Description de la carte Description de la nouvelle carte. Par défaut, la description markdown détaillée de l’événement est utilisée comme description. Vous pouvez utiliser des espaces réservés pour insérer du contenu de l’événement dans la description. Pour plus d’informations, consultez Créer un hook de service pour Azure DevOps Services et TFS avec Trello. string Non

Créer une liste

Cette action crée une liste sur un tableau existant dans Trello. Une liste est utilisée pour organiser des cartes sur un tableau et représente généralement un état. Pour plus d’informations, consultez Créer un hook de service pour Azure DevOps Services et TFS avec Trello.

  • ID du consommateur : trello

  • ID d’action : createList

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    userToken Jeton utilisateur Jeton utilisateur qui fournit l’accès aux ressources Trello. Pour obtenir un jeton, accédez à la page d’autorisation Trello. string Oui
    boardId Conseil Nom du tableau sur lequel la liste Trello est créée. string Oui
    addToBottom Créer en bas du tableau Option qui indique s’il faut créer la carte au début ou à la fin du tableau. Lorsque ce champ est true, la carte est créée à la fin. boolean Non
    listName Nom de la liste Nom de la nouvelle liste. Par défaut, la description textuelle de l’événement est utilisée comme nom. Vous pouvez utiliser des marqueurs de position pour insérer du contenu de l’événement dans le nom de l'événement. Pour plus d’informations, consultez Créer un hook de service pour Azure DevOps Services et TFS avec Trello. string Non

Points d'ancrage Web (Webhooks)

Les webhooks permettent d’envoyer une représentation JSON d’un événement Azure DevOps à tout service disposant d’un point de terminaison public.

Publier via HTTP

Cette action publie une représentation d’objet JSON d’un événement à une URL spécifiée. Les points de terminaison HTTPS sont recommandés en raison du potentiel de données privées dans la charge utile de l’événement. Pour plus d’informations, consultez Webhooks.

  • ID du consommateur : webHooks

  • ID d’action : httpRequest

  • Événements pris en charge : tous les événements

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    url URL URL à laquelle envoyer une requête HTTP POST. uri Oui
    acceptUntrustedCerts Accepter des certificats SSL non approuvés Option permettant de ne pas exiger de certificat SSL (Secure Sockets Layer) approuvé pour un point de terminaison. Utilisez cette option uniquement pendant le développement et les tests. boolean Non
    basicAuthCredentials Identifiants de base Informations d’identification HTTP standard. Pour éviter d’envoyer des informations d’identification en texte brut, utilisez le protocole HTTPS pour chiffrer les informations d’identification via TLS. Nous vous recommandons d’utiliser des principaux de service et des identités managées dans Azure DevOps. string Oui
    httpHeaders En-têtes HTTP Clés et valeurs d’en-tête HTTP sous la forme de paires clé-valeur. Dans chaque paire, la clé et la valeur sont séparées par un deux-points, tel que <key>:<value>. Chaque paire clé-valeur s’affiche sur sa propre ligne. Ces valeurs sont visibles par toute personne ayant accès à l'abonnement au service hook. string Non
    resourceDetailsToSend Détails de la ressource à envoyer Nombre de champs de ressources à envoyer à la file d’attente. Les possibilités sont tous les champs possibles, un nombre minimum et aucun. string Non
    messagesToSend Messages à envoyer Types de messages à envoyer à la file d’attente. string Non
    detailedMessagesToSend Messages détaillés à envoyer Types de messages détaillés à envoyer à la file d’attente. string Non

Zendesk

Zendesk est une suite SaaS (Software as a Service) qui offre des tickets de support technique, un suivi des problèmes et un support au service client.

Créer un commentaire privé dans un ticket

Cette action crée un commentaire privé dans un ticket Zendesk.

  • ID du consommateur : zendesk

  • ID d’action : createPrivateComment

  • Événements pris en charge : workitem.commented

  • Paramètres :

    ID d’entrée Nom Descriptif Type de données Obligatoire
    accountName Nom du compte Nom du compte Zendesk. Vous trouverez le nom du compte dans l’URL de votre compte Zendesk, qui a le format https://<account-name>.zendesk.com. string Oui
    username Nom d’utilisateur Nom d’utilisateur de l’utilisateur Zendesk qui met à jour les tickets. string Oui
    apiToken jeton d’API Jeton d’API Zendesk. Pour trouver le jeton, accédez à l'application Zendesk, puis sélectionnez Administrateur>Canaux>API. string Oui