L'intégration GitHub pour Slack vous offre, à vous et à vos équipes, une visibilité complète sur vos projets GitHub directement dans les canaux Slack, où vous pouvez générer des idées, trier les problèmes et collaborer avec d'autres équipes pour faire avancer les projets. Cette intégration est un projet open source, construit et maintenu par GitHub.
Cette application prend officiellement en charge GitHub.com (qui inclut notre offre hébergée dans le cloud GitHub Enterprise) et Slack.com.
L'intégration de GHES avec Slack.com est désormais GA avec GHES 3.8. Les étapes détaillées pour intégrer Slack à GHES peuvent être trouvées ici.
Installez l'intégration GitHub pour Slack. Une fois connecté à votre espace de travail Slack, vous serez invité à autoriser l'accès à l'application :
Une fois l'application installée et une fois que vous avez ajouté l'intégration GitHub aux canaux concernés à l'aide de /invite @github
, vous verrez des aperçus des liens vers les problèmes GitHub, les demandes d'extraction et le code rendus sous forme de texte enrichi dans votre espace de travail.
Une fois que vous avez installé l'application, vous pouvez désormais interagir avec l'application GitHub en tant qu'application personnelle ou y accéder depuis un canal. Une fois l'application installée dans l'espace de travail, l'application GitHub est activée sur toutes les chaînes publiques. Pour les chaînes privées, vous devez explicitement inviter /invite @github
À ce stade, vos comptes utilisateur Slack et GitHub sont désormais liés. Vous serez invité à vous connecter à GitHub. Il s'agit d'une étape principale requise pour accéder à l'application. Alternativement, nous pouvons également nous connecter en exécutant /github signin
.
Et une fois connecté, vous verrez les prochaines étapes et la liste des fonctionnalités disponibles pour vous.
La commande slash /github
accepte également un argument subscribe
que vous pouvez utiliser pour vous abonner à l'activité d'une organisation ou d'un référentiel /github subscribe <organization>/<repository>
.
Si vous avez initialement donné à l'application l'accès à « Tous les référentiels » et que vous avez créé un nouveau référentiel privé sur GitHub après avoir installé l'intégration GitHub pour Slack, la commande /github subscribe
fonctionnera automatiquement sur votre nouveau référentiel. Si vous avez installé l'application sur un sous-ensemble de référentiels, l'application vous demandera de l'installer sur le nouveau référentiel.
La commande slash /github
prend également en charge unsubscribe
. Pour vous désabonner des notifications d'un référentiel, utilisez /github unsubscribe <organization>/<repository>
En accordant l'accès à l'application, vous accordez les autorisations suivantes à vos comptes GitHub et Slack :
Portée de l'autorisation | Pourquoi nous en avons besoin |
---|---|
Accédez aux conversations privées entre vous et l'application | Pour vous envoyer un message avec des instructions. |
Afficher les liens vers GitHub.com dans les messages | Pour afficher des liens riches à partir de github.com |
Ajouter des aperçus de liens vers GitHub.com aux messages | Pour afficher des liens riches vers github.com |
Ajouter des commandes slash | Pour ajouter la commande slash /github à votre espace de travail Slack |
Afficher le nom, le domaine de messagerie et l'icône de l'espace de travail ou de l'organisation | Pour stocker les abonnements que vous avez configurés |
Publier des messages en tant qu'application | Pour vous informer de l'activité qui se produit sur GitHub, dans Slack |
Portée de l'autorisation | Pourquoi nous en avons besoin |
---|---|
Accès en lecture au code | Pour afficher des extraits de code dans Slack |
Accès en lecture aux actions, aux statuts de validation, aux vérifications, aux discussions, aux problèmes, aux métadonnées, aux demandes d'extraction et aux projets de référentiel | Pour afficher des aperçus des liens partagés dans Slack |
Accès en écriture aux actions, problèmes, déploiements et demandes d'extraction | Pour agir depuis Slack avec la commande /github et directement depuis les messages |
Sur les référentiels, l'application notifie les événements open
, close
et re-open
sur les demandes d'extraction et les problèmes dans les référentiels auxquels vous êtes abonné. Il notifie également tout push
directement vers la branche par défaut du référentiel.
Vous pouvez personnaliser vos notifications en vous abonnant à une activité pertinente pour votre chaîne Slack et en vous désabonnant d'une activité moins utile à votre projet.
Les paramètres sont configurés avec la commande slash /github
:
/github subscribe owner/repo [feature]
/github unsubscribe owner/repo [feature]
Ceux-ci sont activés par défaut et peuvent être désactivés avec la commande /github unsubscribe owner/repo [feature]
:
issues
- Problèmes ouverts ou ferméspulls
- Demandes d'extraction nouvelles ou fusionnées, ainsi que les projets de demandes d'extraction marquées « Prêt pour révision »commits
- Nouveaux commits sur la branche par défaut (généralement main
)releases
- Versions publiéesdeployments
- Mises à jour de l'état du déploiement. Ceux-ci sont désactivés par défaut et peuvent être activés avec la commande /github subscribe owner/repo [feature]
:
workflows
- Notifications d'exécution du workflow d'actionsreviews
- Avis sur les demandes de tiragecomments
- Nouveaux commentaires sur les problèmes et demandes d'extractionbranches
- Branches créées ou suppriméescommits:*
- Tous les commits poussés vers n'importe quelle branche+label:"your label"
- Filtrez les problèmes, les demandes d'extraction et les commentaires en fonction de leurs étiquettes.discussions
- Discussions créées ou réponduesVous pouvez vous abonner ou vous désabonner à partir de plusieurs paramètres à la fois. Par exemple, pour activer l'activité pour les révisions et les commentaires des demandes d'extraction :
/github subscribe owner/repo reviews comments
Et pour le désactiver :
/github unsubscribe owner/repo reviews comments
Les filtres de branche permettent de filtrer les notifications de validation. Par défaut, lorsque vous vous abonnez à la fonctionnalité de validation, vous recevrez des notifications pour votre branche par défaut (c'est-à-dire principale). Cependant, vous pouvez choisir de filtrer sur une branche spécifique, ou sur un modèle de branches ou sur toutes les branches.
/github subscribe org/repo commits
pour les notifications de commit d'une branche par défaut./github subscribe org/repo commits:*
pour les notifications de validation dans toutes les branches./github subscribe org/repo commits:myBranch
pour les notifications de validation d'une branche spécifique./github subscribe org/repo commits:users/*
pour les notifications de validation à partir d'un modèle de branches.Vous pouvez désabonner la fonctionnalité de commits en utilisant `@github unsubscribe org/repo commits.
Remarque : Auparavant, vous aviez peut-être utilisé commits:all
pour représenter toutes les branches. « tout » n'est plus un mot-clé réservé. À l’avenir, vous devrez utiliser « * » pour représenter toutes les branches. Si vous avez déjà configuré 'commits:all' auparavant, ne vous inquiétez pas, cela continuera à fonctionner jusqu'à ce que vous mettiez à jour la configuration des commits.
Les filtres d'étiquettes permettent de filtrer les événements entrants en fonction d'une liste autorisée d'étiquettes requises .
Il s'agit d'une présentation des types d'événements affectés par le filtre d'étiquette obligatoire.
Événement | Est filtré |
---|---|
Tirer | ✅ Oui |
Commentaire (RP et problème) | ✅ Oui |
Problème | ✅ Oui |
Revoir | ✅ Oui |
Valider/Pousser | Non |
Bifurquer | Non |
Créez un filtre avec :
/github subscribe owner/repo +label:"priority:HIGH"
Cela crée un filtre d'étiquette obligatoire avec la valeur priority:HIGH
. Les événements entrants prenant en charge les filtres sont ignorés à moins qu'ils ne portent cette étiquette.
Pour mettre à jour le filtre existant, entrez-en simplement un nouveau, l'ancien sera mis à jour. Actuellement, nous ne prenons en charge qu’un seul filtre. Plusieurs filtres pourraient être pris en charge à l’avenir.
/github subscribe owner/repo +label:"teams/designers"
Désormais, la priority:HIGH
a été remplacée par teams/designers
.
La suppression d'un filtre est disponible via unsubscribe
/github unsubscribe owner/repo +label:teams/designers
Cela supprime le filtre teams/designers
.
Pour voir les filtres actuellement actifs, utilisez
/github subscribe list features
Il est courant d'avoir certains caractères spéciaux dans les étiquettes. C'est pourquoi nous avons ajouté la prise en charge des caractères spéciaux les plus courants pour les filtres d'étiquettes. Voici quelques exemples :
label:"priority:HIGH"
label:"teams/designers"
label:"DO NOT MERGE"
label:"very important"
label:":construction: WIP"
La plupart des étiquettes fonctionneront de manière transparente, cela inclut tous les emojis fournis par Slack et Github. Cependant, dans les rares circonstances suivantes, vous pourriez rencontrer des difficultés :
:foo:
,
est réservéVous pouvez vous abonner aux notifications d'exécution du workflow GitHub Actions depuis votre chaîne ou votre application personnelle à l'aide de la fonctionnalité « workflows ».
Être averti de chaque notification d'exécution de flux de travail peut être bruyant. Nous vous offrons donc la possibilité de filtrer les notifications en fonction de vos besoins. Vous pouvez filtrer les notifications de vos workflows d'actions en fonction du nom, de l'événement, de l'acteur et/ou de la branche. Vous pouvez filtrer les notifications comme ci-dessous.
/github subscribe owner/repo workflows:{name:"your workflow name" event:"workflow event" branch:"branch name" actor:"actor name"}
Vous pouvez transmettre plusieurs entrées pour chacun des événements sous forme de liste séparée par des virgules, comme dans l'exemple ci-dessous : /github subscribe org/repo workflows:{event:"pull_request","push" branch:"main","dev" actor:"ashokirla"}
Par défaut, lorsque vous configurez les notifications de workflow sans passer aucun filtre, elles sont configurées pour les workflows déclenchés via des pull request ciblant votre branche par défaut. Vous pouvez transmettre une ou plusieurs entrées.
Vous pouvez vous désinscrire des notifications de workflows en exécutant simplement la commande ci-dessous : /github unsubscribe org/repo workflows
Pour recevoir les notifications ci-dessus, vous devez accorder l'accès pour recevoir les événements Actions via l'application GitHub dans Slack. Vous serez invité à le faire lorsque vous tenterez de vous abonner pour la première fois à la fonctionnalité workflows
pour votre organisation.
Nous prenons en charge des notifications distinctes pour vos déploiements. Ces déploiements peuvent avoir lieu à partir d'actions ou de sources externes à l'aide de l'API Deployments.
Vous pouvez activer/désactiver cette fonctionnalité en exécutant :
/github subscribe/unsubscribe org/repo deployments
Remarque : Si vous utilisez des actions GitHub et souhaitez suivre vos déploiements dans des environnements, nous vous recommandons d'utiliser plutôt la nouvelle fonctionnalité workflows
, car elle affiche une image complète et vous permet d'approuver vos déploiements sur place.
Lorsque vous vous abonnez à un référentiel dans Slack, vous vous verrez désormais mentionné dans les notifications où vous êtes référé et avez besoin de votre attention.
Lorsque vous recevez des notifications de problèmes, de PR et de déploiements, voici les cas dans lesquels vous serez mentionné.
Et le meilleur, c'est que vous pouvez maintenant voir le résumé des notifications GitHub où vous êtes mentionné dans la section « Mentions et réactions » dans Slack.
Les mentions ne fonctionneront que si vous vous connectez à l'application GitHub dans votre espace de travail Slack (à l'aide de la commande slash /github signin
). Lorsque vous vous connectez à l'application GitHub avec votre identifiant GitHub, nous le mappons avec votre identifiant Slack et vous envoyons une requête ping dans Slack chaque fois que vous êtes mentionné dans l'une des notifications GitHub.
Remarque : si vous disposez de plusieurs espaces de travail Slack dans lesquels vous utilisez l'application GitHub, les mentions ne fonctionneront que dans l'espace de travail dans lequel vous vous êtes connecté le plus récemment à l'application GitHub.
Les notifications pour les problèmes et les PR sont regroupées sous une carte parent en tant que réponses. La carte parent affiche toujours le dernier statut du problème/RP ainsi que d'autres métadonnées telles que le titre, la description, les destinataires, les réviseurs, les étiquettes et les chèques. Le threading donne du contexte et contribue à améliorer la collaboration au sein du canal.
Cela réduira le bruit dans le canal. Et notre fonctionnalité de mentions garantit que seules les personnes impliquées dans le fil de conversation sont informées. Seule la carte parent est publiée sur la chaîne et le reste des notifications sera ajouté en guise de réponse dans le fil de discussion. Cependant, les activités de changement d'état telles que le problème de fermeture/réouverture sont ajoutées au fil de discussion en tant que réponse et également publiées sur le canal car cela pourrait intéresser le groupe.
Si vous vous êtes abonné aux notifications de commentaires et d'avis et que vous souhaitez également que les membres de la chaîne les voient au lieu de seulement ceux qui participent au problème, vous pouvez opter pour la même chose en exécutant
/github subscribe org/repo comments:"channel"
et
/github subscribe org/repo reviews:"channel"
Remarque : Par défaut, les commentaires et les critiques n'apparaîtront que dans le fil de discussion. Et vous devez exécuter explicitement la commande ci-dessus pour vous assurer que les commentaires commencent également à affluer dans le canal.
Si vous participez à un problème/prix mentionné dans le commentaire ou ajouté en tant que responsable/réviseur, notre fonctionnalité de mentions garantit que vous êtes averti dans la section des fils de discussion dans Slack. Vous n'avez pas besoin d'accéder à la chaîne pour les problèmes/problèmes qui nécessitent votre attention. Vous pouvez vous concentrer sur ceux pour lesquels vous avez besoin et notre fonction de threading vous garantit d'obtenir une image complète et vous pouvez directement agir à partir de là. Il s'agit d'une fonctionnalité très puissante qui garantit que vous ne manquez aucun problème/problème nécessitant votre attention.
Cependant, si vous pensez absolument que vous n'avez pas besoin de voir les problèmes/mises à jour des relations publiques dans les fils de discussion et pensez qu'il s'agit d'un bruit, nous pouvons vous suggérer une solution de contournement rapide pour ne plus avoir de pings ou d'entrées dans vos fils de discussion. Notre application GitHub vous mentionne uniquement dans l'espace de travail Slack où vous vous êtes connecté en dernier à GitHub. Vous pouvez accéder à un espace de travail Slack le moins utilisé ou à un espace de travail Slack personnel et vous connecter à GitHub avec notre application GitHub à partir de là. Ensuite, vous ne recevrez pas de requête ping et ne verrez pas les mises à jour dans les fils de discussion de l'autre espace de travail principal.
Si vous ne souhaitez pas de fonctionnalité de threading ou si vous n'êtes pas encore prêt à vous adapter au nouveau modèle, nous voulons vous offrir de la flexibilité. Vous pouvez désactiver/activer le fil de discussion pour les notifications de problèmes et de demandes d'extraction dans votre chaîne. Vous pouvez accéder au canal sur lequel vous n'avez pas besoin de thread et exécuter la commande suivante. /github settings
Vous verrez une option pour désactiver/activer le thread pour ce canal. Tout membre faisant partie de la chaîne pourra effectuer cette action.
Les conversations lentes mènent souvent à des décisions et à des conclusions concrètes. Il est désormais plus facile de passer aux étapes suivantes depuis Slack.
Vous n'avez plus besoin de basculer ou de rediriger vers GitHub pour effectuer des actions sur les problèmes. Vous pouvez véritablement créer et gérer des problèmes à partir de l'endroit où vous collaborez, c'est-à-dire Slack.
Vous pouvez désormais créer un ticket d’un simple clic, directement depuis l’endroit où vous collaborez. Dans n'importe quel canal/application personnelle/groupe ou chat direct, vous pouvez désormais cliquer sur les trois points (...) dans le coin supérieur droit d'un message et choisir « Créer un problème GitHub » dans la liste. Cela lancera un dialogue de création de problème.
Vous pouvez également créer un problème à partir de Slack de deux autres manières.
/github open
à partir de la boîte de discussion. Remarque : Vous devez être connecté et disposer de l'accès nécessaire au dépôt pour effectuer des actions.
Vous pouvez également gérer le cycle de vie du problème directement depuis le chat. Lorsque vous vous abonnez à un dépôt et recevez une notification de problème ou lorsque vous créez un nouveau problème à partir de Slack, vous verrez désormais une carte de problème avec des boutons d'appel à l'action pour commenter, modifier, fermer/rouvrir. Vous pouvez effectuer ces actions directement depuis le chat.
Remarque : lorsque vous effectuez une action sur la fiche de problème depuis Slack, la réponse est ajoutée en tant que réponse au fil de discussion même si vous ne vous êtes pas abonné à cette activité via des abonnements. Cependant, si vous vous abonnez, vous recevrez également des notifications pour les activités qui se déroulent en dehors de Slack.
Lorsqu'un utilisateur publie un lien GitHub vers des problèmes et des demandes d'extraction , des commentaires directement liés, des blobs de code avec des numéros de ligne, ainsi que des organisations, des référentiels et des utilisateurs dans Slack, un aperçu du lien s'affiche.
Les aperçus des liens ne seront pas affichés si :
github.com
ont été désactivés pour votre espace de travail/invite @github
Des rappels programmés sont utilisés pour garantir que les utilisateurs se concentrent sur les demandes d'avis les plus importantes qui nécessitent leur attention. Les rappels programmés pour les demandes d'extraction vous enverront un message dans Slack avec des demandes d'extraction ouvertes nécessitant votre examen à une heure spécifiée. Par exemple, vous pouvez configurer des rappels programmés pour vous envoyer un message dans Slack chaque matin à 10 heures du matin avec des demandes d'extraction devant être examinées par vous ou l'une de vos équipes.
Vous pouvez configurer des rappels programmés pour vous (rappels personnels), votre équipe et pour votre organisation.
Les rappels personnels programmés sont configurés dans le cadre de votre application personnelle GitHub dans Slack. Vous pouvez définir des rappels programmés pour les demandes de révision personnelles ou au niveau de l'équipe pour les demandes d'extraction dans les organisations dont vous êtes membre. Dans le cadre de rappels personnels, vous pouvez également configurer des alertes en temps réel pour vos pull request. Vous pouvez trouver plus de détails ici.
Vous pouvez configurer des rappels programmés pour les demandes d'extraction en attente dans le cadre de vos canaux Slack afin que votre équipe puisse rester au courant de votre travail. Pour une chaîne Slack donnée, vous pouvez configurer des rappels programmés pour votre organisation ou votre équipe. Pour plus de détails sur la configuration des rappels planifiés, vous devez visiter les rappels au niveau de l'organisation et les rappels au niveau de l'équipe.
Si vous utilisez Slack Enterprise Grid et que votre organisation dispose de plusieurs espaces de travail Slack dans lesquels vous devez utiliser GitHub, vous pouvez installer et gérer votre application GitHub sur Slack Enterprise Grid. Les propriétaires et administrateurs d’organisation dans la grille Slack Enterprise peuvent :
Gérez les demandes d'installation d'applications GitHub des membres de votre espace de travail.
Rendre l'application GitHub disponible par défaut dans tous les futurs espaces de travail.
Seuls les administrateurs et propriétaires d’organisation Enterprise Grid pourront installer et gérer l’application GitHub au niveau de la grille.
Vous pouvez installer l'application GitHub au niveau de l'organisation en cliquant ici et en sélectionnant l'organisation de grille d'entreprise à installer.
Nous annonçons l'intégration de GA pour GHES avec Slack avec GHES 3.8.
Avec cette intégration, vous pourrez désormais vous abonner à vos référentiels dans votre instance GHES et obtenir des mises à jour en direct sur vos problèmes, PR, validations et déploiements dans Slack. Et vous pouvez également effectuer des actions telles que commenter, ouvrir/fermer des problèmes et approuver vos déploiements directement depuis Slack.
À partir de GHES 3.8, nous proposons un service ChatOps dédié fourni avec votre serveur GHES. Et vous pouvez choisir de vous intégrer à votre espace de travail Slack. Avec notre intégration pour GHES, vous aurez
Une expérience entièrement sécurisée et évolutive : toutes les informations sur vos abonnements et toutes autres métadonnées restent dans votre configuration GHES. Ainsi, vous n’avez pas à vous soucier du flux de données vers un service externe.
Connectivité bidirectionnelle entre GHES et Slack : notre intégration GHES n'est pas seulement un service de notification. Il vous permettra également d'effectuer des actions directement depuis le chat. C’est donc la seule condition préalable dont vous avez besoin pour vous assurer que votre instance GHES est accessible depuis Slack. Lorsque le mode Socket est activé, seul l’accès entrant depuis Slack est requis.
L'application GitHub existante que vous voyez dans l'App Store ne peut être utilisée que pour l'intégration GHEC (GitHub hébergé). Pour intégrer votre instance GHES à Slack, vous devez configurer une application GHES privée. Voici les étapes à suivre pour intégrer GHES.
<instancename>/_slack/
ou slack.<instancename>
pour installer l'application sur votre espace de travail.Les proxys ne sont actuellement pas pris en charge.
Si vous avez des questions ou des préoccupations, veuillez nous contacter en enregistrant un problème ici. Ou veuillez remplir le formulaire d'assistance de GitHub et votre demande sera acheminée vers la bonne équipe de GitHub.
Ce référentiel n'accepte aucune contribution de code. Le code actuel qui s'exécute pour GitHub et l'intégration pour Slack s'écarte considérablement du code présent dans ce référentiel car il contient du code spécifique qui est requis pour exécuter le service dans l'infrastructure GitHub et qui ne peut pas être open source pour le moment. Nous continuerons à utiliser les numéros de ce référentiel pour obtenir les commentaires des clients . |
Le projet est disponible en open source selon les termes de la licence MIT.
Lorsque vous utilisez les logos GitHub, veillez à suivre les directives du logo GitHub.