L’intégration de GitHub avec Slack vous aidera à rationaliser la communication de votre équipe en l’informant des événements du dépôt en temps réel. Cette intégration permet de collaborer plus efficacement, de discuter des modifications dans le contexte de la base de code et de répondre rapidement à toute préoccupation pouvant survenir au cours du développement.


De plus, l’intégration de GitHub à Slack vous permet de personnaliser les notifications en fonction du flux de travail unique de votre équipe. Cela permet de minimiser les distractions et de se concentrer sur ce qui compte vraiment. Cette approche personnalisée de la communication permet à votre équipe de prendre des décisions éclairées et des mesures opportunes, garantissant ainsi une production de la plus haute qualité.

Étape 1 : Créer une nouvelle application Slack

Pour suivre cette étape, vous devez être à l’aise avec la plateforme Slack. Vous devez également être familier avec GitHub.

La première étape de l’intégration consiste à créer une nouvelle application Slack. Cette application sera chargée de poster des messages sur le canal Slack sélectionné lorsqu’un événement de dépôt se produit. Pour créer une nouvelle application, naviguez sur le site web de Slack et connectez-vous à votre compte. Ensuite, créez un nouvel espace de travail. Vous utiliserez cet espace de travail pour tester votre application avant de l’installer dans l’espace de travail de votre équipe.

Page des espaces de travail du site Slack

Naviguez vers le site web de l’API Slack dans un nouvel onglet du navigateur.

Page d'accueil de l'API Slack

Cliquez sur Vos applications . Sur la page qui s’affiche, cliquez sur le bouton Créer une nouvelle application bouton.

Page d'applications du site web de Slack

Choisissez l’option permettant de créer l’application à partir de zéro. Nommez ensuite votre application et choisissez l’espace de travail dans lequel vous souhaitez l’installer.

Nommage et installation de l'application Slack choix de l'espace de travail

Cliquez sur le bouton Créer une application . Cette action créera votre nouvelle application Slack et vous redirigera vers son tableau de bord.

Étape 2 : Configurer un Webhook entrant Slack

Un crochet Web entrant Slack vous permet d’envoyer des messages provenant de sources externes dans votre espace de travail Slack. Pour configurer le webhook, choisissez l’option Crochets Web entrants fonctionnalité. Assurez-vous d’activer la fonction Activer les Webhooks entrants bouton.

Page d'activation du webhook entrant de Slack

Faites défiler vers le bas jusqu’à la page URL des webhooks pour votre espace de travail section. Cliquez sur l’icône Ajouter un nouveau Webhook à l’espace de travail bouton.

Options de la fonctionnalité webhook de l'API Slack

Slack vous demandera de choisir le canal dans lequel votre application publiera des messages. Choisissez le canal et cliquez sur le bouton Autoriser bouton.

Page de sélection du canal Slack webhook

Cela ajoutera votre application au canal sélectionné. Retournez à la page URL des webhooks pour votre espace de travail section. Copiez les URL du Webhook. Il s’agit de l’URL à laquelle GitHub enverra les notifications d’événements du dépôt.

Page de l'URL de Slack Webhook

Vous avez maintenant terminé la configuration du côté Slack.

Étape 3 : Configurer le Repo GitHub

Naviguez sur le site web de GitHub et connectez-vous à votre compte. Allez dans le dépôt à partir duquel vous souhaitez recevoir les notifications d’événements. Vous pouvez également créer un nouveau dépôt. Cliquez sur le bouton Actions sous le nom du dépôt.

Fonctionnalité des actions de dépôt de GitHub

Cliquez ensuite sur le bouton configurer soi-même un flux de travail lien. La page suivante qui s’affiche vous demande de créer un fichier YAML dans le répertoire GitHub workflows. Ce fichier définit le flux de travail GitHub Actions responsable de l’envoi de notifications à votre espace de travail Slack.

Page de création du fichier YAML de GitHub

Vous écrirez le code YAML dans l’éditeur intégré. Ce code intégrera GitHub avec Slack en envoyant des notifications à un canal Slack lorsque des événements spécifiques se produisent dans le dépôt.

Le code source complet utilisé dans cet article est disponible dans un dépôt GitHub.

Étape 4 : Écrire le code YAML pour intégrer GitHub à Slack

Nommez votre flux de travail. N’hésitez pas à choisir le nom qui vous convient.

 name: Slack Notification 

Spécifiez les événements qui déclencheront le flux de travail. C’est ici que vous choisissez les événements dont vous voulez que votre équipe soit informée. Ajoutez ou supprimez les événements en fonction de vos besoins.

 on:
push:
pull_request:
issues:
   types:
     - opened
     - closed
     - reopened
     - edited
     - deleted
     - pinned
     - unpinned
     - assigned
     - unassigned
     - labeled
     - unlabeled
     - milestoned
     - demilestoned
issue_comment:
   types: [created, edited, deleted]
create:
delete:

Configurez votre travail et choisissez l’environnement virtuel sur lequel il s’exécutera. notifier_slack est le nom de la tâche. Vous pouvez le modifier à votre guise.

 jobs:
notify_slack:
   runs-on: ubuntu-latest

Mettre en place une étape qui sera responsable de l’envoi d’une notification à Slack.

 steps:
   - name: Send Slack notification

Définir une variable d’environnement nommée SLACK_WEBHOOK_URL. Il stockera l’URL du webhook de Slack. Vous ajouterez plus tard l’URL aux secrets du dépôt de GitHub.

 env:
       SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}

Configurer l’option action-slack Action GitHub. Il s’agit d’une action tierce qui gère la logique sous-jacente de l’interaction avec l’API Slack. Elle vous permet de vous concentrer sur la configuration des messages et des événements qui déclenchent les notifications. Cela facilite grandement le processus d’envoi de notifications à Slack.

      uses: 8398a7/action-slack@v3 

Ce code utilise le code 8398a7/action-slack@v3 action.

Configurer l’action 8398a7/action-slack@v3 action avec des paramètres personnalisés. L’action statut définit l’état du message à personnalisé. Il vous permettra de définir le contenu du message Slack à l’aide d’une charge utile personnalisée. Les champs liste les champs à inclure dans le message Slack.

 with:
       status: custom
       fields: repo,commit,event,action,workflow,ref,URL

Créer un charge_de_paiement_personnalisée qui personnalisera l’apparence du message Slack en fonction de vos préférences.

 custom_payload: |
{
   "attachments": [
     {
       "color": "${{ job.status }}",
       "title": >-
         ${{ github.actor }} ${{ github.event.pull_request && github.event.pull_request.merged == true && 'merged a pull request' || github.event.pull_request && 'opened a pull request' || github.event_name == 'push' && 'pushed new changes' || github.event_name == 'create' && 'created a new branch or tag' || github.event_name == 'delete' && 'deleted a branch or tag' || github.event_name == 'issues' && github.event.action || 'triggered an event' }},
       "text": >-
         :tada: Event details:
        
         - Repository: ${{ github.repository }}
         - Branch: ${{ github.ref }}
         - Message: ${{ github.event_name == 'push' && github.event.head_commit.message || github.event_name == 'issues' && github.event.issue.title || github.event_name == 'pull_request' && github.event.pull_request.title || '' }}
         - :globe_with_meridians: Link: ${{ github.event.pull_request.html_url || github.event.issue.html_url || github.event.repository.html_url }}
     }
    
   ]
}

Vous pouvez vous référer au cas d’utilisation personnalisé 8398a7/action-slack@v3 pour trouver toutes les personnalisations supportées. Validez le fichier YAML pour créer le nouveau flux de travail.

La dernière étape de l’intégration de GitHub avec Slack est l’ajout d’un nouveau secret de dépôt. Le secret dans ce cas est le URL du Webhook de Slack que vous avez copiée depuis Slack. Gardez cette URL secrète car toute personne y ayant accès peut envoyer des messages à votre espace de travail.

Accédez aux paramètres de votre référentiel. Cliquez sur le bouton secrets et variables sous l’égide de la sécurité fonction. Sélectionnez l’option Actions option.

Page des secrets et variables des actions GitHub

Cliquer sur Nouveau secret de dépôt. Ajoutez le nom du secret comme SLACK_WEBHOOK_URL. Ensuite, collez le URL Slack dans le champ Secret. Enfin, cliquez sur le bouton Ajouter un secret pour enregistrer le nouveau secret.

Vous avez maintenant terminé l’intégration de GitHub avec Slack. Chaque fois qu’un événement se produit dans votre dépôt, un message sera affiché dans votre canal. Essayez de créer une nouvelle pull request. Cela déclenchera un événement « push ».

La capture d’écran ci-dessous montre des exemples de messages sur Slack montrant des événements qui ont eu lieu dans un dépôt.

Messages postés sur Slack suite à un événement dans un référentiel

Vous pouvez personnaliser la charge utile du message pour inclure d’autres champs que vous jugez nécessaires.

Améliorez votre productivité avec les intégrations Slack

GitHub n’est pas la seule intégration Slack que vous pouvez ajouter à votre espace de travail. Il existe de nombreuses intégrations que vous pouvez utiliser pour améliorer la productivité et la communication de votre équipe. En vous familiarisant avec ces intégrations, vous pourrez rationaliser le flux de travail de votre équipe et faire en sorte que tout le monde soit sur la même longueur d’onde.