Utiliser Azure Pipelines avec Slack

Azure DevOps Services

Avec l’application Azure Pipelines pour Slack, les utilisateurs Slack peuvent facilement suivre les événements qui se produisent dans leurs pipelines. L’application permet aux utilisateurs d’établir et de superviser des abonnements pour différents événements de pipeline, tels que les builds, les mises en production, les approbations en attente, etc. Les notifications pour ces événements sont ensuite remises directement aux canaux Slack des utilisateurs

Notes

Cette fonctionnalité est disponible uniquement sur Azure DevOps Services. En règle générale, les nouvelles fonctionnalités sont introduites dans le service cloud en premier, puis mises à disposition localement dans la prochaine version principale ou mise à jour d’Azure DevOps Server. Pour plus d’informations, consultez Chronologie des fonctionnalités Azure DevOps.

Prérequis

  • Dans Slack, vous devez avoir l’autorisation d’installer une application sur votre espace de travail Slack.
  • Pour Azure DevOps, vous devez faire partie du groupe des administrateurs de la collection de projets ou des administrateurs de projets pour configurer un abonnement Slack.

Installer l’application Azure Pipelines

Accédez à l’application Slack Azure Pipelines pour installer l’application Azure Pipelines sur votre espace de travail Slack. Une fois ajouté, vous verrez un message de bienvenue de l’application comme indiqué ci-dessous. Utilisez le handle /azpipelines pour commencer à interagir avec l’application.

A screenshot showing the Azure Pipelines app welcome message.

Connexion à votre pipeline

Une fois l’application installée dans votre espace de travail Slack, vous pouvez connecter l’application à n’importe quel pipeline que vous souhaitez surveiller. Vous serez invité à vous authentifier auprès d’Azure Pipelines avant d’exécuter des commandes.

A screenshot showing the sign-in prompt message.

Pour commencer à surveiller tous les pipelines d’un projet, utilisez la commande de barre oblique suivante à l’intérieur d’un canal :

/azpipelines subscribe [project url]

L’URL du projet peut lier n’importe quelle page au sein de votre projet (à l’exception des URL aux pipelines). Par exemple : /azpipelines subscribehttps://dev.azure.com/myorg/myproject/

Vous pouvez également surveiller un pipeline spécifique à l’aide de la commande suivante :

/azpipelines subscribe [pipeline url]

L'URL du pipeline peut lier à n'importe quelle page au sein de votre pipeline dont l'URL contient definitionId ou buildId/releaseId. Par exemple : /azpipelines subscribe https://dev.azure.com/myorg/myproject/_build?definitionId=123, ou : /azpipelines subscribe https://dev.azure.com/myorg/myproject/_release?definitionId=123&view=mine&_a=releases

La commande d’abonnement vous permet de commencer avec quelques abonnements par défaut. Voici les notifications par défaut activées pour le type de pipeline suivant :

Pipelines de build Pipelines de mise en production Pipelines YAML
Notification de build terminée Notifications de Déploiement de mise en production démarré, déploiement de mise en production terminé et approbation du déploiement de mise en production en attente Notifions d’État de phase d’exécution modifié et phase d’exécution en attente d’approbation

A screenshot showing notification example.

Gérer les abonnements

Pour gérer les abonnements pour un canal, utilisez la commande suivante : /azpipelines subscriptions

Cette commande répertorie tous les abonnements actuels pour le canal et vous permet d’ajouter ou de supprimer des abonnements.

Notes

Les administrateurs d’équipe ne peuvent pas supprimer ou modifier les abonnements créés par les administrateurs de projet.

A screenshot showing a list of subscriptions.

Personnaliser les abonnements

Par défaut, lors de l’abonnement à un pipeline, plusieurs abonnements qui n’ont aucun filtre appliqué sont générés. Toutefois, il est courant que les utilisateurs souhaitent personnaliser ces abonnements en fonction de leurs préférences. Par exemple, les utilisateurs peuvent souhaiter recevoir des notifications uniquement pour les builds ayant échoué ou lorsque les déploiements sont effectués en production. L’application Azure Pipelines offre la possibilité d’appliquer des filtres, ce qui permet aux utilisateurs de personnaliser les messages qu’ils reçoivent dans leur canal. Pour personnaliser un abonnement :

  1. Exécutez la commande /azpipelines subscriptions pour répertorier tous vos abonnements.

  2. Sélectionnez Ajouter un abonnement.

  3. Sélectionnez l’événement auquel vous souhaitez vous abonner, puis sélectionnez votre configuration souhaitée.

  4. Lorsque vous avez terminé, sélectionnez Enregistrer.

Exemple : Obtenir des notifications uniquement pour les builds ayant échoué

A screenshot showing a list how to add a custom new subscription.

Approuver des déploiements

Vous pouvez approuver des déploiements à partir de votre canal Slack sans accéder au portail Azure Pipelines en vous abonnant aux notifications d’approbations de déploiement de mise en production en attente (mises en production classiques) ou aux notifications d’index d’exécution en attente d’approbation (pipelines YAML). Les deux abonnements sont créés par défaut lorsque vous vous abonnez à un pipeline.

A screenshot showing pipeline approval in Slack.

L’application Azure Pipelines pour Slack vous permet de gérer tous les scénarios de vérification et d’approbation disponibles dans le portail Azure Pipelines. Ces scénarios incluent l'approbation par un seul approbateur, l'approbation par plusieurs approbateurs et l'approbation par une équipe. Vous avez la possibilité d’approuver des demandes individuellement ou au nom d’une équipe.

A screenshot showing a predeployment pipeline approved in Slack.

Supprimer tous les abonnements

Pour désencombrer votre canal, vous pouvez utiliser les commandes suivantes pour vous désabonner de tous les pipelines au sein d’un projet. Par exemple : /azpipelines unsuscribe allhttps://dev.azure.com/myorg/myproject.

/azpipelines unsubscribe all [project url]

Important

Seuls les administrateurs de projets sont autorisés à exécuter cette commande.

Référence des commandes

Voici toutes les commandes prises en charge par l’application Azure Pipelines pour Slack :

Commande à barre oblique Fonctionnalités
/azpipelines subscribe [URL du pipeline/ URL du projet] S’abonner à un pipeline ou à tous les pipelines d’un projet pour recevoir des notifications
/azpipelines subscriptions Ajouter ou supprimer des abonnements pour ce canal
/azpipelines feedback Signaler un problème ou suggérer une fonctionnalité
/azpipelines help Obtenir de l’aide sur les commandes à barre oblique
/azpipelines signin Vous connecter à votre compte Azure Pipelines
/azpipelines signout Vous déconnecter de votre compte Azure Pipelines
/azpipelines unsubscribe all [URL du projet] Supprimer tous les pipelines (appartenant à un projet) et leurs abonnements associés d’un canal

Notifications dans les canaux privés

L’application Azure Pipelines peut également vous aider à surveiller l’activité des pipelines dans vos canaux privés. Vous devez inviter le bot à votre canal privé à l’aide de /invite @azpipelines. Une fois le bot ajouté, vous pouvez configurer et contrôler vos notifications de la même manière que vous le feriez pour un canal public.

Notes

  • Vous ne pouvez utiliser l'application Azure Pipelines pour Slack qu'avec un projet hébergé sur Azure DevOps Services pour le moment.
  • L’utilisateur doit être administrateur du projet contenant le pipeline pour configurer les abonnements
  • Les notifications ne sont actuellement pas prises en charge dans les messages directs
  • Les approbations de déploiement qui ont la stratégie « Revalidez l’identité de l’approbateur avant d’effectuer l’approbation » appliquée ne sont pas prises en charge
  • « Accès aux applications tierces via OAuth » doit être activé pour recevoir des notifications pour l’organisation dans Azure DevOps (Paramètres de l’organisation -> Sécurité -> Stratégies)

Dépannage

Si vous rencontrez les erreurs suivantes lors de l’utilisation de l’application Azure Pipelines pour Slack, suivez les procédures décrites dans cette section.

Désolé, une erreur s’est produite. Réessayez

L’application Azure Pipelines utilise le protocole d’authentification OAuth et nécessite l’activation de l’Accès aux applications tierces via OAuth. Pour activer ce paramètre, accédez à Paramètres de l’organisation>Sécurité>Stratégies, et activez Accès aux applications tierces via OAuth pour l’organisation.

A screenshot showing how to enable third party access via OAuth.

La configuration a échoué. Assurez-vous que l’organisation existe et que vous disposez d’autorisations suffisantes

Déconnectez-vous d’Azure DevOps en accédant à cette URL : https://aka.ms/VsSignout.

Ouvrez une fenêtre de navigateur privée/incognito, accédez à https://aex.dev.azure.com/me et connectez-vous. Sélectionnez le répertoire qui contient l'organisation où se trouve le pipeline auquel vous voulez vous abonner.

A screenshot showing how to select your pipeline directory.

En utilisant le même navigateur, ouvrez un nouvel onglet et accédez à https://slack.com. Connectez-vous à votre espace de travail en utilisant le client web, puis exécutez la commande /azpipelines signout suivie de /azpipelines signin.

Sélectionnez le bouton Sign in et vous êtes redirigé vers une page de consentement, comme illustré dans l’exemple ci-dessous. Vérifiez que le répertoire affiché à côté de votre adresse courriel correspond à celui qui a été sélectionné à l'étape précédente. Sélectionnez Accepter pour terminer le processus de connexion.

A screenshot showing how to allow pipelines slack integration.