Tutoriels · 2026
2026 : après l’arrêt des e-mails de push GitHub, comment valider les notifications Actions ?
Cet article s’adresse aux responsables de dépôts qui doivent remplacer les notifications natives de push par un envoi qu’ils contrôlent. Il détaille la migration, les filtres de déclenchement, la gestion des identifiants et une méthode d’acceptation qui distingue exécution, envoi et réception réelle.
Depuis le 15 octobre 2026, les e-mails natifs liés aux événements de push des dépôts GitHub ne sont plus envoyés ; pour continuer à notifier une équipe, configurez un workflow Actions avec votre propre voie d’envoi, puis vérifiez la réception dans une boîte contrôlée. Ce guide s’adresse aux mainteneurs de dépôts qu’ils possèdent ou sont autorisés à gérer, pas aux automatisations de comptes tiers.
- Les développeurs indépendants qui remplaçaient jusque-là leurs contrôles de code par les e-mails de push.
- Les responsables de dépôt qui doivent définir les branches, les destinataires et les identifiants d’envoi.
- Les équipes QA et les responsables de livraison qui doivent prouver qu’un message est arrivé, et pas seulement que le workflow a réussi.
Dernière mise à jour : 27 octobre 2026. Nous avons vérifié la date et la portée de l’arrêt dans le Changelog officiel de GitHub et les règles d’exécution dans la documentation GitHub Actions.
Le point de départ : deux notifications différentes
L’arrêt concerne les notifications par e-mail que GitHub envoyait à propos des événements de push d’un dépôt. Il ne signifie pas que GitHub a désactivé toutes ses notifications par e-mail. Il ne signifie pas non plus qu’un événement push ne peut plus lancer un workflow Actions. Le Changelog précise que les équipes qui veulent continuer à envoyer des messages peuvent utiliser un workflow déclenché par un push et leur propre serveur SMTP ou service de messagerie.
Cette distinction évite une erreur de migration fréquente : appeler « notification GitHub restaurée » un message construit et envoyé par une automatisation de l’équipe. Le déclencheur est géré par Actions ; le contenu, le destinataire et le chemin d’envoi restent à votre charge. Nous traitons donc le remplacement comme une chaîne de vérifications, et non comme un simple changement de bouton.
Il faut séparer les preuves :
- Déclenchement : un push conforme aux filtres a créé une exécution.
- Envoi : l’étape de messagerie a transmis le message et reçu un résultat de son serveur ou service.
- Réception : la boîte visée contient effectivement le message attendu.
Un statut vert dans Actions ne démontre que la réussite des étapes que le workflow a exécutées. Il ne permet pas, à lui seul, d’affirmer que le message a franchi les filtres du serveur destinataire ni qu’il est visible dans la boîte de réception.
Avant la configuration : délimiter les messages utiles
Commencez par écrire la règle de notification en termes opérationnels. Quels dépôts sont concernés ? Quelles branches ? Quels changements justifient un message ? Qui doit le recevoir ? Une notification envoyée à chaque push peut devenir du bruit, notamment lorsqu’un dépôt reçoit des changements automatiques ou fréquents. Une règle plus ciblée réduit le nombre de messages inutiles et limite aussi la diffusion des informations de commit.
Le choix des destinataires mérite la même attention que le choix du déclencheur. Une équipe peut avoir besoin d’une boîte partagée pour les alertes de livraison, tandis qu’un développeur qui teste un dépôt peut utiliser une adresse qu’il contrôle. Évitez de reprendre automatiquement une liste complète de collaborateurs : la présence d’un accès au dépôt ne signifie pas que chaque personne souhaite recevoir chaque notification.
Décidez aussi, avant le premier envoi, ce que le message doit contenir. Un sujet bref, le nom de la branche et un lien vers le commit peuvent suffire. N’ajoutez pas par défaut le diff complet, des extraits de journaux ou des informations issues d’un environnement de test. Les messages peuvent être transférés, conservés dans des archives ou consultés depuis un appareil partagé. Si la politique de confidentialité du dépôt compte dans ce choix, notre guide consacré à la protection des données aide à réfléchir aux informations exposées par une adresse de réception.
Pour le premier essai, choisissez un dépôt de test ou une branche sans effet sur la production. Préparez un contenu non sensible, avec un commit facile à reconnaître. L’objectif n’est pas de tester une notification métier complète avant même que le circuit de base soit compris ; il s’agit d’identifier à quelle étape une éventuelle défaillance se produit.
Pendant la migration : relier le push aux branches voulues
Dans le fichier de workflow, déclarez l’événement push, puis ajoutez les filtres nécessaires. La syntaxe officielle permet notamment de filtrer les branches et les chemins ; les motifs inclus et exclus ne sont pas interchangeables. Consultez la référence GitHub Actions sur les filtres de workflow avant de reprendre une règle dans un dépôt actif.
Un exemple minimal de ciblage peut ressembler à ceci :
on:
push:
branches:
- main
- 'release/**'
Cette configuration illustre un ciblage par branche ; elle ne constitue pas une politique universelle. Remplacez les noms par ceux de votre dépôt et évitez d’ajouter des motifs sans vérifier ce qu’ils couvrent. Un filtre trop large enverra des messages lors de changements que l’équipe ne voulait pas annoncer. Un filtre trop étroit peut laisser passer silencieusement une branche de livraison.
Vérifiez également que le fichier de workflow est présent dans la version de branche que vous testez et que son chemin est celui attendu. Il est facile de modifier le fichier sur une branche, puis de pousser ailleurs et d’en conclure à tort que le déclencheur ne fonctionne pas. Les règles de workflow, les événements et la façon dont Actions exécute une définition sont décrits dans la documentation générale des workflows GitHub Actions.
Pour confirmer que le filtre fonctionne, procédez avec deux cas autorisés sur un dépôt maîtrisé :
- Poussez un commit vers une branche incluse. Repérez l’exécution qui correspond à ce commit.
- Poussez ensuite un changement de test vers une branche non incluse. Vérifiez que cette action ne provoque pas l’envoi de notification attendu pour les branches couvertes.
Gardez en tête que l’absence d’exécution peut venir de plusieurs causes : événement incorrect, filtre de branche, filtre de chemin, workflow absent de la branche testée ou erreur de lecture de la définition. Associer chaque essai à son commit évite de confondre une exécution ancienne avec le test courant. Cela répond aussi à la question du périmètre : le workflow est votre mécanisme de remplacement, et non le rétablissement du courrier natif de GitHub.
Avant l’envoi : protéger les identifiants et réduire le contenu
Ne placez pas un mot de passe SMTP, une clé de service ou un jeton dans le fichier versionné. Les identifiants nécessaires à l’envoi doivent être fournis par un mécanisme contrôlé, tel que les secrets GitHub Actions, avec un accès limité aux workflows et dépôts qui en ont réellement besoin. Les recommandations de sécurité GitHub Actions et la documentation des secrets Actions expliquent les protections et les limites à prendre en compte.
Appliquez le principe du moindre privilège : ne donnez au workflow que les autorisations requises par son rôle. Un workflow de notification n’a généralement pas besoin de capacités d’écriture sur l’ensemble du dépôt simplement parce qu’il lit le contexte d’un commit. Vérifiez les permissions configurées, les personnes autorisées à modifier le workflow et les conditions dans lesquelles les secrets peuvent être utilisés. Une modification de fichier de workflow peut changer le comportement d’envoi ; elle fait donc partie de la surface à protéger.
Contrôlez les champs du message avant d’activer l’envoi à une liste réelle :
- Destinataire : il s’agit bien de la boîte de test prévue, et non d’une liste copiée depuis un ancien système.
- Sujet : il permet de reconnaître le dépôt et l’exécution sans révéler de données confidentielles.
- Corps : il ne contient que les informations nécessaires pour retrouver le commit ou le résultat.
- Lien : il pointe vers le bon dépôt et le bon commit, et son accès est adapté aux destinataires.
- Journaux : ils ne révèlent ni secret, ni valeur d’authentification, ni contenu de message inutile.
Les contextes de workflow peuvent fournir des informations sur l’événement et l’exécution, mais leur contenu doit être choisi avec soin. Avant de construire un message à partir de valeurs de contexte, vérifiez les champs réellement disponibles dans la référence des contextes GitHub Actions. N’insérez pas un objet complet ou une charge d’événement dans un e-mail par commodité : cela augmente le risque de divulgation et peut rendre le message difficile à lire.
Un serveur SMTP qui accepte un message ne prouve pas que celui-ci est déjà visible dans la boîte du destinataire. Le protocole SMTP définit une responsabilité de transfert après acceptation ; pour l’acceptation et le rôle du serveur destinataire, consultez le RFC 5321. Gardez donc l’observation de la boîte comme preuve distincte.
Au moment du test : vérifier chaque maillon
Nous procédons dans un ordre qui rend les échecs diagnostiquables. D’abord, nous poussons un commit sans données sensibles vers une branche autorisée. Ensuite, nous retrouvons l’exécution associée à ce commit et vérifions que les étapes attendues ont été lancées. Nous examinons les journaux pour repérer une erreur de configuration, sans y imprimer de secret.
Si l’étape d’envoi s’exécute, relevez son résultat exact : refus d’authentification, serveur inaccessible, destinataire rejeté ou acceptation par le système d’envoi ne signifient pas la même chose. Ne reformulez pas une réponse d’acceptation comme « livré dans la boîte » si le service ne fournit pas cette preuve. Le protocole SMTP distingue le transfert et la responsabilité du serveur qui accepte le message ; la réception visible reste à confirmer dans la boîte ciblée.
Puis ouvrez la boîte de test et recherchez le message correspondant au commit. Contrôlez le sujet, le destinataire, le contenu et le lien. Vérifiez également les dossiers de courrier indésirable et les règles de tri, ainsi que les éventuels filtres de boîte. Si le message est absent, notez cette absence et reprenez la chaîne depuis le résultat du serveur d’envoi ; un workflow vert ne permet pas de sauter cette étape.
Notre service de transfert d’e-mails peut servir de solution de réception contrôlée pour les tests, si le scénario ne nécessite ni réponse durable ni compte de récupération important. Il faut toutefois s’assurer que le message de test ne contient pas d’informations confidentielles avant de l’adresser à une boîte de test. La bonne preuve est le message réellement observé dans le canal choisi, et non une supposition basée sur l’état de l’automatisation.
Pour conserver une trace exploitable, associez l’exécution Actions au commit, consignez le résultat de l’étape d’envoi et notez si le message a été observé. N’enregistrez pas le contenu sensible du courrier comme preuve. Une courte fiche d’acceptation doit permettre à une autre personne de comprendre le dépôt, la branche, le commit, le destinataire de test et le résultat de chaque maillon.
Après l’essai : éviter les faux positifs et les répétitions
Un essai de branche couverte montre que le chemin positif peut fonctionner. Il ne prouve pas que les exclusions sont sûres. Testez aussi une branche non concernée et, si des filtres de chemin sont utilisés, un changement qui ne doit pas provoquer de notification. Vérifiez à chaque fois à la fois l’exécution du workflow et l’absence d’envoi indésirable. Cela permet de repérer les erreurs de filtre avant qu’elles ne créent du bruit dans une boîte d’équipe.
Examinez ensuite les scénarios de répétition. Une automatisation qui pousse elle-même des changements peut créer un nouveau push et provoquer une nouvelle exécution si les conditions s’y prêtent. Les workflows de notification doivent donc éviter de s’auto-alimenter ou de produire plusieurs messages pour la même intention. La stratégie dépend du dépôt : contrôlez qui effectue le push, les événements concernés et les conditions prévues par le workflow. Ne supposez pas qu’un lancement automatisé est sans conséquence simplement parce qu’il ne vient pas d’une personne.
En cas d’échec, fournissez assez d’information pour diagnostiquer le maillon concerné sans exposer de secret. Un message d’erreur trop générique rend l’entretien pénible ; un journal qui révèle un identifiant ou un contenu privé crée un risque supérieur au bénéfice du diagnostic. Le bon compromis est un résultat explicite, expurgé des valeurs sensibles, accompagné de l’identifiant de l’exécution ou du commit lorsque cette information peut être exposée sans risque.
Liste de contrôle d’acceptation
- [ ] Le dépôt est possédé par l’équipe ou son utilisation a été autorisée.
- [ ] Les branches et les chemins qui doivent notifier sont écrits et relus.
- [ ] Le fichier de workflow est présent dans la branche de test.
- [ ] Les secrets d’envoi sont enregistrés de manière contrôlée et ne figurent pas dans le code.
- [ ] Le destinataire de test est maîtrisé et le message ne contient pas de données sensibles.
- [ ] Un push inclus dans le filtre a déclenché une exécution liée au commit attendu.
- [ ] Le résultat d’envoi a été relevé séparément du statut général du workflow.
- [ ] Le message a été recherché dans la boîte, y compris parmi les courriers filtrés.
- [ ] Un cas hors périmètre a confirmé qu’aucune notification non souhaitée n’est partie.
- [ ] Le compte rendu distingue clairement déclenchement, envoi et réception.
Questions fréquentes sur la migration
La date d’arrêt ne concerne que les e-mails natifs liés aux événements de push des dépôts. Une absence de message ne signifie donc pas que les autres notifications GitHub ont toutes cessé. Pour un remplacement, configurez un envoi que votre équipe contrôle et validez-le de bout en bout. Le point décisif est la réception observée, pas la couleur de l’exécution Actions.
Un workflow qui réussit sans e-mail reçu n’est pas encore accepté. Contrôlez d’abord que le bon commit a déclenché la bonne définition et que l’étape d’envoi s’est exécutée. Examinez ensuite la réponse du système d’envoi, l’adresse de destination, les filtres de boîte et les dossiers de courrier indésirable. Utilisez un nouveau message de test contrôlé avant de conclure que le circuit est rétabli.
Pour vérifier les branches, faites un essai positif sur une branche incluse et un essai négatif sur une branche exclue. Associez les résultats aux commits concernés ; ne vous fiez pas à une exécution plus ancienne. Si le workflow comporte également des filtres de chemin, testez un changement qui doit être retenu et un autre qui doit être ignoré. Cette comparaison révèle les erreurs de périmètre.
Pour prouver la réception, ouvrez la boîte contrôlée et confirmez que le message attendu y figure. Vérifiez qu’il correspond au push testé, plutôt qu’à une notification antérieure. Gardez cette observation distincte du résultat du serveur d’envoi : l’acceptation SMTP et la réception dans la boîte sont deux étapes différentes. La fiche d’acceptation doit refléter cette distinction.
Si vous testez les notifications d’un dépôt que vous contrôlez, une adresse de réception dédiée peut faciliter la validation sans exposer votre boîte principale ni la remplir de messages d’essai. Avec Fwdaway, une adresse temporaire s’utilise sans inscription et permet une réception immédiate ; c’est une option pour un test ponctuel, à condition de ne pas envoyer de contenu sensible et de ne pas en faire le canal de récupération d’un compte important. Pour une notification qui doit être conservée, permettre une réponse ou servir à récupérer un accès, choisissez plutôt une boîte durable ou un transfert adapté.
Questions fréquentes
Comment remplacer les e-mails de push natifs par une notification Actions ?
Déclarez un événement push dans un workflow de votre dépôt, puis limitez-le aux branches et aux changements qui méritent une notification. Ajoutez une étape d’envoi par votre serveur SMTP ou un service de messagerie autorisé. Le workflow constitue une voie d’envoi que vous gérez vous-même : il ne réactive pas les e-mails natifs de GitHub.
Pourquoi le workflow est-il vert alors qu’aucun message n’est arrivé ?
Un statut réussi confirme que les étapes du workflow se sont terminées comme prévu, mais pas que le message a rejoint la boîte de réception. Vérifiez les journaux sans y exposer de secret, le résultat rapporté par le serveur d’envoi, l’adresse destinataire, puis les dossiers de courrier indésirable et les règles de filtrage. Enfin, envoyez un message de test contrôlé.
Comment vérifier qu’un filtre de branche déclenche le bon workflow ?
Effectuez un push autorisé vers une branche incluse dans le filtre, puis associez le commit à l’exécution observée dans Actions. Répétez le contrôle avec une branche exclue : le workflow ne doit alors pas envoyer de notification. Vérifiez aussi les motifs de branche et de chemin, car une exclusion ou une inclusion trop large peut modifier le périmètre.
Comment prouver qu’un e-mail de test a réellement été reçu ?
Utilisez une adresse de test que vous contrôlez et vérifiez le message dans sa boîte de réception, pas uniquement le journal du workflow. Rapprochez le sujet, le contenu et le lien du commit avec l’exécution concernée. Consignez séparément le déclenchement, la réponse du système d’envoi et la réception observée ; ces preuves décrivent des étapes différentes.