Tutoriais · 2026
Após a interrupção dos e-mails de Push dos repositórios do GitHub em 2026, como validar notificações do Actions?
Este guia orienta pessoas que mantêm repositórios próprios ou autorizados a substituir a notificação nativa de Push do GitHub por um fluxo próprio. Acompanhe a configuração, teste os filtros de branch e valide separadamente a execução, o envio e o recebimento da mensagem.
Um Push aconteceu, mas o e-mail automático do repositório não chegou.
A partir de 15 de outubro de 2026, o GitHub deixou de enviar as notificações nativas por e-mail de eventos Push; para manter avisos, configure um fluxo próprio acionado por push no GitHub Actions e teste o recebimento em uma caixa controlada. Uma execução verde confirma o fluxo, não a chegada da mensagem. O aviso oficial do GitHub Changelog descreve a interrupção e a alternativa. Esta verificação foi atualizada em 27 de outubro de 2026, com base no aviso e na documentação oficial do GitHub Actions.
Este guia é para quem mantinha repositórios próprios ou autorizados e dependia dos avisos de Push, para quem agora administra o fluxo de envio e para QA ou responsáveis por releases que precisam comprovar o recebimento — não apenas a execução.
O ponto de partida: notificação nativa e fluxo próprio são coisas distintas
A interrupção cobre os e-mails nativos associados a eventos Push nos repositórios. Não significa que o GitHub tenha interrompido todas as notificações por e-mail, nem que o GitHub Actions tenha perdido a capacidade de iniciar uma automação quando há um Push. A mudança é mais específica: o aviso nativo de Push não é mais enviado, enquanto um fluxo configurado por quem mantém o repositório pode iniciar um caminho de envio independente. O comunicado de descontinuação esclarece esse limite.
A distinção muda o que a equipe precisa testar. Antes, a expectativa podia ser “o GitHub avisará por e-mail”. Agora, a equipe configura o gatilho, escolhe como enviar a mensagem e confirma a entrega na caixa de destino. Isso não restaura a função nativa: cria uma automação própria, que deve ter seus destinatários, suas credenciais e seu procedimento de suporte.
Os três sinais têm significados diferentes:
- Gatilho: o evento e os filtros fizeram o fluxo iniciar.
- Envio: a integração de e-mail aceitou ou reportou o envio, conforme a resposta que disponibiliza.
- Recebimento: a mensagem apareceu na caixa controlada e corresponde ao Push testado.
Um resultado positivo em uma etapa não prova as seguintes. Ao investigar por que um fluxo do GitHub Actions terminou com sucesso, mas ninguém viu o aviso, identifique em qual desses sinais a evidência parou.
Escopo da migração e escolha dos destinatários
Antes de escrever o arquivo de fluxo, registre quais repositórios, branches e tipos de alteração devem gerar aviso, além das pessoas ou listas que realmente precisam recebê-lo. Se todo Push for encaminhado automaticamente a um grupo amplo, alterações de baixo impacto geram ruído e podem expor detalhes do trabalho a pessoas que não precisam deles.
A mensagem também pode revelar nomes de repositórios, branches, autores ou trechos de metadados de commits. Para a validação, use conteúdo não sensível e um endereço de teste controlado. Evite colocar segredos, tokens, dados de clientes ou informações internas na linha de assunto, no corpo ou nos registros da execução.
Uma comparação simples ajuda a definir o escopo antes da configuração:
| Caminho de notificação | Quem controla a seleção e o envio | O que comprova |
|---|---|---|
| E-mail nativo de Push | GitHub; a notificação foi descontinuada em 15 de outubro de 2026 | Não é uma rota disponível para manter novos avisos nativos de Push |
| Fluxo próprio do GitHub Actions | A equipe configura evento, filtros e etapas de envio | A execução comprova o fluxo; o resultado da integração e a caixa comprovam etapas diferentes |
| Aviso fora do fluxo de Push | A equipe escolhe outra automação ou processo de comunicação | Só comprova o que o sistema escolhido registra; não deve ser confundido com o e-mail nativo |
A tabela não recomenda enviar todas as alterações. Um aviso útil deve ter destinatário definido e propósito claro. Por exemplo, a equipe pode preferir alertas de branches de release e deixar alterações rotineiras visíveis no histórico de commits. A decisão depende do processo local, não de uma regra universal do Actions.
Preparação do fluxo e do filtro de branches
No GitHub Actions, o evento push e os filtros de branch determinam se um fluxo é elegível para iniciar. A documentação oficial descreve a sintaxe de fluxos e os filtros de eventos. O arquivo deve refletir as branches que a equipe realmente quer observar; não copie um filtro sem verificar como ele se comporta no repositório.
Um exemplo mínimo de estrutura, sem etapa de envio, é:
name: Notificação de Push
on:
push:
branches:
- main
- 'release/**'
jobs:
preparar-notificacao:
runs-on: ubuntu-latest
steps:
- name: Registrar execução do teste
run: echo "Push aceito pelo filtro configurado"
Este exemplo serve para testar o gatilho, não envia e-mail. Substitua os nomes ilustrativos pelas branches autorizadas no repositório e confirme que o arquivo de fluxo existe na branch que será testada. O próprio guia oficial de fluxos do GitHub Actions explica como um fluxo é definido e executado.
Faça a primeira verificação em um repositório de teste ou em uma branch controlada do repositório da equipe. Envie uma alteração sem dados sensíveis. Depois, compare o evento e a branch exibidos na execução com o que foi configurado. Se o fluxo não iniciar, investigue o nome da branch, os filtros e a presença do arquivo antes de mexer nas credenciais de envio.
Como confirmar se o filtro de branch iniciou o fluxo certo
Um teste de filtro precisa de um caso que corresponda à regra e outro que fique fora dela. Para uma configuração que inclua main e branches release/**, faça um Push autorizado em uma branch incluída e confirme a execução. Em seguida, use uma branch fora do filtro e verifique se não houve execução correspondente.
Consulte o histórico de execuções e associe cada resultado ao Push específico: branch, commit e horário. A documentação de sintaxe e filtros do GitHub Actions é a referência para verificar a configuração declarada. A ausência de uma execução, sozinha, não informa se houve erro no filtro, se o arquivo faltava naquela branch ou se o evento não correspondeu ao fluxo. Compare a regra com os dados do evento, em vez de concluir que o sistema de envio falhou.
Também evite testar em repositórios de terceiros ou em contas sem autorização. Este procedimento é para automações mantidas pela própria equipe, não para gerar cadastro ou notificações em serviços alheios.
Credenciais e conteúdo antes do primeiro envio
O Actions não envia uma mensagem apenas porque um fluxo contém push. A equipe precisa configurar uma etapa de envio usando um servidor SMTP próprio ou um serviço de e-mail autorizado. O GitHub recomenda guardar valores sensíveis em secrets e controlar o acesso a eles. Consulte a documentação sobre secrets do GitHub Actions e as orientações de uso seguro de fluxos e ações.
Armazene somente os dados necessários à integração, como credenciais e parâmetros de conexão exigidos pelo método escolhido. Não grave valores de secrets diretamente no YAML, em argumentos de comandos que possam aparecer nos registros ou no corpo da mensagem. Revise quem pode alterar os fluxos e quem pode acessar ou modificar os secrets. O segredo só é protegido se o processo de alteração também estiver sob controle.
Antes de executar o envio, confira:
- O destinatário de teste está escrito corretamente e é uma caixa que a equipe pode consultar.
- O assunto e o corpo identificam o repositório, a branch e o commit de forma suficiente para o teste.
- Os links levam ao commit ou à execução certa, sem incluir tokens ou parâmetros secretos.
- A mensagem não expõe dados pessoais nem informações internas desnecessárias.
- O resultado da etapa de envio fica visível sem revelar credenciais.
Os contextos do Actions podem oferecer informações do evento, mas não é necessário copiar todo o objeto para o e-mail. Use apenas os campos necessários para relacionar a mensagem ao Push. A referência oficial dos contextos ajuda a identificar os valores disponíveis; trate esses dados com cautela, porque o conteúdo enviado pode ser encaminhado ou preservado fora do repositório.
Execução controlada e prova de recebimento
Agora teste as etapas separadamente. Primeiro, faça um Push que corresponda ao filtro e confirme que o fluxo iniciou. Depois, confira a etapa de envio e o resultado informado pela integração. Por fim, abra a caixa controlada e verifique se a mensagem chegou, se o conteúdo corresponde ao commit e se não foi desviada para spam ou quarentena.
A confirmação SMTP não é sinônimo de leitura nem de chegada à caixa de entrada. Pela RFC 5321, uma resposta SMTP positiva, como 250, indica aceitação da mensagem pelo servidor na etapa correspondente; isso não comprova que ela chegou à caixa do destinatário. Por isso, registre separadamente a execução do Actions, a resposta de envio disponível e a observação da caixa receptora. Se a caixa não recebeu a mensagem, a etapa de envio pode ter sido aceita sem que o teste de entrega esteja concluído.
Para cada tentativa, associe a mensagem ao evento correto. Use um identificador não sensível no assunto ou no corpo, como o hash do commit, e compare esse valor com a execução. Se a caixa recebeu uma mensagem antiga ou duplicada, sem essa associação a equipe pode atribuir um falso positivo ao Push atual.
Quando o fluxo terminar sem erro, mas o e-mail não aparecer, investigue nesta ordem: confirme se o endereço está correto; procure nas pastas de spam e quarentena; verifique o resultado e os registros da etapa de envio; confira se a integração aponta para o servidor ou serviço esperado; e analise se o servidor aceitou a mensagem ou informou uma falha. Não reexecute indefinidamente sem entender o resultado, pois isso pode gerar notificações repetidas e confundir a validação.
Como comprovar o recebimento real da mensagem
A prova final é observar a mensagem na caixa escolhida e verificar que ela corresponde ao Push de teste. “A etapa terminou sem erro” é evidência de execução. “O servidor aceitou a mensagem” é evidência de envio até aquele ponto. Nenhuma das duas substitui a confirmação na caixa receptora.
Registre o resultado de cada etapa com o identificador da execução e do commit, sem salvar conteúdo sensível. Se o e-mail não for encontrado, marque o teste como inconclusivo ou falho conforme a política da equipe; não o aprove apenas porque a execução ficou verde. Para uma caixa compartilhada ou encaminhada, confirme também qual caixa recebeu a mensagem e se a regra de encaminhamento não alterou o destino esperado. A equipe pode consultar como funciona o encaminhamento de e-mails ao avaliar esse tipo de rota.
Lista de verificação para aceite
Use esta lista em um repositório próprio ou autorizado. Marque cada etapa somente depois de conferir a evidência correspondente.
- [ ] O escopo identifica os repositórios, as branches e as alterações que devem gerar aviso.
- [ ] O destinatário de teste é controlado pela equipe e pode receber a mensagem.
- [ ] O texto de teste não contém tokens, dados pessoais ou conteúdo confidencial do repositório.
- [ ] O fluxo declara o evento
pushe os filtros correspondem às branches aprovadas. - [ ] O arquivo do fluxo está presente na branch usada para o teste.
- [ ] Um Push incluído no filtro gerou uma execução associada ao commit correto.
- [ ] Um caso fora do filtro não gerou uma notificação indevida.
- [ ] As credenciais ficam em secrets, não no arquivo do fluxo nem nos registros.
- [ ] A etapa de envio reportou um resultado verificável, sem expor credenciais.
- [ ] A mensagem apareceu na caixa de teste e corresponde ao evento testado.
- [ ] O registro de aceite distingue gatilho, envio e recebimento.
A lista deixa explícita a fronteira de aceite: se o fluxo iniciou, mas não há prova de recebimento, a migração ainda não foi validada ponta a ponta. Se o envio falhou, volte à integração e às credenciais; se não houve gatilho, volte ao evento e ao filtro. Essa separação evita corrigir o componente errado.
Revisão após o aceite: duplicidade, reexecução e exposição
Depois do primeiro teste, revise o comportamento quando uma execução falha e é repetida. Confirme se uma reexecução pode enviar a mesma mensagem outra vez e se a equipe consegue distinguir uma repetição de um novo Push. Em fluxos automatizados, uma mensagem duplicada pode ser consequência de uma nova tentativa, de mais de um caminho de notificação ou de regras sobrepostas. O histórico de execuções e a identificação do commit ajudam a reconhecer esses casos.
Verifique ainda se o fluxo pode ser iniciado por ações automatizadas feitas por outros fluxos. Não presuma que todo Push tem origem em uma pessoa ou que toda alteração deve gerar uma mensagem. Mantenha as permissões dos secrets compatíveis com o trabalho necessário e restrinja o conteúdo enviado aos dados úteis para a notificação. A orientação oficial de uso seguro do GitHub Actions deve fazer parte da revisão quando a equipe altera permissões ou etapas.
Guarde um registro de aceite com o escopo testado, a branch, o commit, o identificador da execução e o resultado observado na caixa. Não inclua credenciais nem copie para o registro o conteúdo confidencial do repositório. Um registro assim permite que outra pessoa confirme o que foi validado sem tratar um teste de uma branch como prova de que todas as branches estão corretas.
Para a prova de recebimento, uma caixa de teste separada evita misturar alertas de validação com a correspondência de trabalho. O guia de privacidade do Fwdaway ajuda a avaliar o que considerar ao escolher um endereço de teste; de todo modo, não envie informações confidenciais para uma caixa que não esteja aprovada para esse uso.
Encerramento da migração
A migração está concluída quando a equipe sabe qual evento dispara o fluxo, quais destinatários recebem a mensagem e qual evidência confirma a chegada. O fim da notificação nativa não torna o Actions uma restauração automática do recurso: cria a necessidade de manter e testar uma rota própria. A execução verde é apenas uma parte do aceite; o teste de e-mail recebido fecha a verificação.
Ao testar notificações dos próprios repositórios, uma caixa de teste controlada pode servir para confirmar a chegada real sem usar o endereço principal em cada ensaio. Se a equipe só precisa validar uma mensagem temporária, o Fwdaway oferece um endereço temporário para esse tipo de teste, sem expor o e-mail principal nem misturar essas mensagens à caixa de trabalho. Antes de enviar qualquer conteúdo do repositório, confirme que ele não contém dados confidenciais e aprove a caixa de destino para o teste.