Suivez l'activité du référentiel GitHub en temps réel sur Slack à l'aide de cette API.

L'intégration de GitHub à Slack vous aidera à rationaliser la communication de votre équipe en l'informant des événements du référentiel en temps réel. Cette intégration permet de collaborer plus efficacement, de discuter des changements dans le contexte de la base de code et de résoudre rapidement tout problème 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 minimise les distractions et se concentre sur ce qui compte vraiment. Cette approche personnalisée de la communication permet à votre équipe de prendre des décisions éclairées et de prendre des mesures en temps opportun, garantissant un résultat de la plus haute qualité.

Étape 1: créer une nouvelle application Slack

Pour suivre, vous devez être à l'aise en utilisant la plateforme Slack. Vous devez également être familiarisé avec GitHub.

instagram viewer

La première étape de l'intégration consiste à créer une nouvelle application Slack. Cette application sera chargée de publier des messages sur le canal Slack sélectionné lorsqu'un événement de référentiel se produit. Pour créer une nouvelle application, accédez au Site Web 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.

Naviguez vers le Site Web de l'API Slack dans un nouvel onglet du navigateur.

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

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

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

Étape 2: Configurer un webhook entrant Slack

Un Webhook entrant Slack vous permet d'envoyer des messages provenant de sources externes dans votre espace de travail Slack. Pour configurer le webhook, choisissez le Webhooks entrants fonctionnalité. Assurez-vous d'allumer le Activer les Webhooks entrants bouton.

Faites défiler jusqu'à URL de webhook pour votre espace de travail section. Clique sur le Ajouter un nouveau Webhook à l'espace de travail bouton.

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

Cela ajoutera votre application au canal sélectionné. Retournez à la URL de webhook pour votre espace de travail section. Copiez le généré URL du webhook. Il s'agit de l'URL à laquelle GitHub enverra les notifications d'événements du référentiel.

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

Étape 3: Configurer le référentiel GitHub

Naviguez vers le Site Web GitHub et connectez-vous à votre compte. Accédez au référentiel à partir duquel vous souhaitez recevoir les notifications d'événements. Vous pouvez aussi créer un nouveau référentiel. Clique sur le Actions sous le nom du référentiel.

Cliquez ensuite sur le configurer vous-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 des workflows GitHub. Ce fichier définit le flux de travail GitHub Actions chargé d'envoyer des notifications à votre espace de travail Slack.

Vous écrirez le code YAML dans l'éditeur intégré. Ce code intégrera GitHub à Slack en envoyant des notifications à un canal Slack lorsque des événements spécifiques se produisent dans le référentiel.

Le code source complet utilisé dans cet article est disponible dans un Référentiel GitHub.

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

Nommez votre flux de travail. N'hésitez pas à choisir le nom de votre goût.

nom:MouNotification

Spécifiez les événements qui déclencheront le workflow. C'est ici que vous choisissez les événements dont vous souhaitez informer votre équipe. Ajoutez ou supprimez les événements en fonction de vos besoins.

sur:
pousser:
pull_request :
questions:
les types:
-ouvert
-fermé
-rouvert
-édité
-supprimé
-épinglé
-désépinglé
-attribué
-Non attribué
-étiqueté
-sans étiquette
-jalonné
-déjailé
issue_comment :
les types:[créé,édité,supprimé]
créer:
supprimer:

Configurez votre travail et choisissez l'environnement virtuel sur lequel il s'exécutera. notifier_slack est le nom du travail. Vous pouvez le modifier à votre guise.

emplois:
notifier_slack :
fonctionne sur:ubuntu-dernier

Configurez une étape qui sera responsable de l'envoi d'une notification à Slack.

pas:
-nom:EnvoyerMounotification

Définissez une variable d'environnement nommée SLACK_WEBHOOK_URL. Il stockera l'URL du webhook Slack. Vous ajouterez ultérieurement l'URL aux secrets du référentiel de GitHub.

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

Configurez le action-relâche Action GitHub. Il s'agit d'une action tierce qui gère la logique sous-jacente de l'interaction avec l'API Slack. Il vous permet de vous concentrer sur la configuration des messages et des événements qui déclenchent les notifications. Cela rend le processus d'envoi de notifications à Slack beaucoup plus facile.

les usages:8398a7/action-slack@v3

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

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

avec:
statut:coutume
des champs:repo, commit, événement, action, workflow, ref, URL

Créer un custom_payload qui personnalisera l'apparence du message Slack en fonction de vos préférences.

custom_payload :|
{
"pièces jointes":[
{
"couleur":"${{ job.status }}",
"titre":>-
${{github.acteur}}${{github.event.pull_request&&github.event.pull_request.merged==vrai&&'fusionner une pull request'||github.event.pull_request&&'a ouvert une pull request'||github.event_name=='pousser'&&'a poussé de nouveaux changements'||github.event_name=='créer'&&'a créé une nouvelle branche ou un nouveau tag'||github.event_name=='supprimer'&&'a supprimé une branche ou un tag'||github.event_name=='questions'&&github.événement.action||'a déclenché un événement'}},
"texte":>-
:tada:Détails de l'évènement:

-Dépôt:${{github.repository}}
-Bifurquer:${{github.ref}}
-Message:${{github.event_name=='pousser'&&github.event.head_commit.message||github.event_name=='questions'&&github.event.issue.title||github.event_name=='pull_request'&&github.event.pull_request.titre||''}}
-:globe_with_meridians:Lien:${{github.event.pull_request.html_url||github.event.issue.html_url||github.event.repository.html_url}}
}

]
}

Vous pouvez vous référer au 8398a7/action-slack@v3 cas d'utilisation personnalisé pour trouver toutes les personnalisations prises en charge. Validez le fichier YAML pour créer le nouveau workflow.

La dernière étape de l'intégration de GitHub à Slack consiste à ajouter un nouveau secret de référentiel. Le secret dans ce cas est le URL du webhook Slack vous avez copié 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. Clique sur le secrets et variables sous le sécurité fonctionnalité. Sélectionnez le Actions option.

Cliquer sur Nouveau secret de dépôt. Ajoutez le nom du secret comme SLACK_WEBHOOK_URL. Collez ensuite le URL lâche dans le champ Secret. Enfin, cliquez sur le Ajouter un secret bouton 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 référentiel, un message s'affichera dans votre chaîne. Essayer 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 les événements qui ont eu lieu dans un référentiel.

Vous pouvez personnaliser la charge utile du message pour inclure d'autres champs que vous pourriez juger 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é de votre équipe et améliorer leur communication. Se familiariser avec ces intégrations vous aidera à rationaliser le flux de travail de votre équipe et à garder tout le monde sur la même longueur d'onde.