Intégrer à des crochets de service
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Les hooks de service vous permettent d’exécuter des tâches sur d’autres services lorsque des événements se produisent dans votre projet dans Azure DevOps.
Par exemple, vous pouvez créer une carte dans Trello lorsqu’un élément de travail est créé ou envoyer une notification Push aux appareils mobiles de votre équipe en cas d’échec d’une génération. Vous pouvez également utiliser des hooks de service dans des applications et des services personnalisés comme moyen plus efficace de générer des activités lorsque des événements se produisent dans vos projets.
Comment fonctionnent les hooks de service ?
Les éditeurs de hook de service définissent un ensemble d’événements auxquels vous pouvez vous abonner. Les abonnements écoutent ces événements et définissent des actions à entreprendre en fonction de l’événement.
Les abonnements ciblent également les consommateurs, qui sont des services externes qui peuvent exécuter leurs propres actions lorsque des événements se produisent.
Remarque
Les hooks de service nécessitent l’autorisation des plages d’adresses IP pour la connexion entrante aux points de terminaison de service. Le point de terminaison de service est l’ensemble des propriétés fournies à un hook de service. Pour plus d’informations, consultez Listes d’adresses autorisées et connexions réseau, adresses IP et restrictions de plage.
Services disponibles
Les services suivants sont disponibles en tant que cible de hooks de service. Pour plus d’informations sur d’autres applications et services qui s’intègrent à Azure DevOps, accédez à Visual Studio Marketplace.
Service | Événements pris en charge | Actions prises en charge |
---|---|---|
App Center | Élément de travail mis à jour | Envoyer une notification. Les abonnements sont gérés via App Center. |
AppVeyor | Code envoyé (push) | Déclenchez une build AppVeyor. Les abonnements sont gérés via AppVeyor. |
Azuqua | Tous | Publiez l’événement sur FLO. Les abonnements sont gérés via Azuqua. |
Azure App Service | Code envoyé (push) | Déployer une application web. Les abonnements sont gérés via Azure App Service. |
Azure Service Bus | Tous | Envoyez un message à une rubrique Notification Hub, File d’attente Service Bus ou Service Bus. L’abonnement est géré via Azure App Service. |
Stockage Azure | Tous | Insérez un message dans une file d’attente de stockage. |
Bambou | Build completed, Code pushed | Mettre en file d’attente une build. |
Datadog | Tous | Publiez un événement dans Datadog. |
Grafana | Déploiement de mise en production effectué | Ajoutez une annotation à la base de données Grafana. |
Jenkins | Build completed, code pushed, pr merge tentative, release deployment completed | Déclenchez une build générique ou Git. |
Microsoft Teams | Tous | Publiez un message sur un canal. Les abonnements sont gérés dans Microsoft Teams. |
MyGet | Génération terminée, code envoyé (push) | Publiez le package NuGet sur MyGet. Déclenchez une build MyGet. Les abonnements sont gérés par MyGet. |
Office 365 | Tous | Publiez un message dans un groupe. |
Slack | Tous | Publiez un message sur un canal. |
Trello | Tous | Créez une carte ou une liste. |
UserVoice | Élément de travail créé, élément de travail mis à jour | Envoyer un événement d’élément de travail lié. Les abonnements sont gérés via UserVoice. |
Web Hooks | Tous | Publier via HTTP. |
Applications de messages d’espace de travail | Tous | Envoyer des notifications. Les abonnements sont gérés via Workplace Message Apps. |
Zapier | Tous | Envoyer une notification. Les abonnements sont gérés via Zapier. |
Zendesk | Élément de travail commenté sur | Créez un commentaire privé dans un ticket. |
Service | Événements pris en charge | Actions prises en charge |
---|---|---|
Azure Service Bus | Tous | Envoyez un message à une rubrique Notification Hub, File d’attente Service Bus ou Service Bus. L’abonnement est géré via Azure App Service. |
Stockage Azure | Tous | Insérez un message dans une file d’attente de stockage. |
Bambou | Build completed, Code pushed | Mettre en file d’attente une build. |
Datadog | Tous | Publiez un événement dans Datadog. |
Grafana | Déploiement de mise en production effectué | Ajoutez une annotation à la base de données Grafana. |
Jenkins | Build completed, code pushed, pr merge tentative, release deployment completed | Déclenchez une build générique ou Git. |
Microsoft Teams | Tous | Publiez un message sur un canal. Les abonnements sont gérés dans Microsoft Teams. |
Office 365 | Tous | Publiez un message dans un groupe. |
Slack | Tous | Publiez un message sur un canal. |
Trello | Tous | Créez une carte ou une liste. |
[UserVoice]((https://www.uservoice.com) | Élément de travail créé, élément de travail mis à jour | Envoyer un événement d’élément de travail lié. Les abonnements sont gérés via UserVoice. |
Web Hooks | Tous | Publier via HTTP. |
Zendesk | Élément de travail commenté sur | Créez un commentaire privé dans un ticket. |
Création d’un abonnement
Lorsque vous intégrez l’un de ces services à Azure DevOps, vous devez créer un abonnement. Dans de nombreux cas, vous devez également effectuer une configuration dans l’autre service. Pour plus d’informations, consultez les informations du service qui vous intéresse.
Ouvrez la page d’administration d’un projet dans l’accès web.
Exécutez l’Assistant pour créer l’abonnement.
Sélectionnez le service auquel vous souhaitez effectuer l’intégration.
Sélectionnez l’événement à déclencher et tous les filtres applicables.
Sélectionnez une action à exécuter sur le service cible.
Remarque
La liste des actions disponibles peut être limitée en fonction du type d’événement que vous avez sélectionné.
Pour confirmer que les paramètres sont corrects, testez l’abonnement, puis terminez l’Assistant.
FAQ
Q : Quelles autorisations dois-je configurer un abonnement ?
R : Modifier les abonnements et afficher les abonnements. Par défaut, seuls les administrateurs de projet disposent de ces autorisations. Pour les accorder directement à d’autres utilisateurs, vous pouvez utiliser l’outil en ligne de commande ou l’API REST Sécurité.
Pour accorder l’autorisation d’affichage pour un groupe, consultez Définir l’autorisation Afficher pour un groupe dans la page Hooks de service.
Q : Quelles sont les implications de sécurité de l’octroi des autorisations Modifier les abonnements et afficher les abonnements ?
R : L’utilisateur disposant de ces autorisations peut voir tous les abonnements créés dans le projet et l’historique des notifications pour ces abonnements. Cet utilisateur peut ensuite créer n’importe quel type d’abonnement de hook de service dans ce projet. Si l’utilisateur configure un abonnement pour une ressource qu’il n’est pas autorisé à accéder, l’abonnement n’est pas déclenché.
Par exemple : Les abonnements que vous créez pour les événements de mise à jour d’élément de travail dans le chemin d’accès de zone XYZ n’envoient pas de notifications si vous n’avez pas accès à ces éléments de travail. Toutefois, vous pouvez voir l’historique des notifications d’autres utilisateurs qui ont accès à ces éléments de travail.
Q : Puis-je créer des abonnements de hook de service pour un projet par programmation ?
A : Oui. Pour plus d’informations, consultez Créer un abonnement de hooks de service.
Q : Puis-je supprimer l’accès d’une application à mon organisation une fois que je l’ai autorisé ?
A : Oui. Vous pouvez révoquer des autorisations de votre profil.
Accédez à votre page de profil à partir de https://visualstudio.microsoft.com/.
Veillez à commencer à partir du site Visual Studio (https://visualstudio.microsoft.com/) au lieu de votre organisation (
https://dev.azure.com/{orgName}
) car votre profil accessible à partir de votre organisation vous amène à une implémentation incorrecte de la fonctionnalité de gestion des autorisations.Gérez vos autorisations.
Révoquez les autorisations que vous ne souhaitez plus autoriser.
Q : Pourquoi ne pouvons-nous plus configurer des hooks de service pour HipChat ?
R : Atlassian a officiellement abandonné le support pour HipChat. Pour plus d'informations, consultez Annonce.