Automatize a geração e envio de documentação de release diretamente pelo GitHub, utilizando GitHub Actions para capturar informações da release, gerar HTML formatado e enviar por e-mail automaticamente.
Repositório:
https://github.com/n4w-solutions/release-auto-documentation
Este projeto automatiza o processo de:
- 📌 Capturar dados da Release publicada
- 📝 Gerar documentação em HTML
- 📧 Enviar e-mail automático com notas de versão
- 🔄 Padronizar comunicação de deploy
Ideal para times que desejam:
- Governança de versões
- Comunicação automática com stakeholders
- Rastreabilidade de mudanças
- Padronização enterprise de release notes
- Uma Release é publicada no repositório.
- O workflow do GitHub Actions é acionado.
- O sistema:
- Lê o
tag_name - Captura o corpo da release
- Gera HTML estruturado
- Envia e-mail via SMTP
- Lê o
Exemplo simplificado do envio de e-mail:
- name: Send email with release notes
uses: dawidd6/action-send-mail@v3
with:
server_address: ${{ env.SMTP_HOST }}
server_port: ${{ env.SMTP_PORT }}
username: ${{ env.SMTP_USER }}
password: ${{ env.SMTP_PASS }}
subject: "🚀 Release ${{ github.event.release.tag_name }} publicada"
to: ${{ env.MAIL_TO }}
from: GitHub Actions <${{ env.SMTP_USER }}>
html_body: ${{ steps.html.outputs.result }}Para utilizar o SMTP do Google com autenticação segura, é necessário gerar uma Senha de App (App Password).
Essa senha substitui sua senha principal e é obrigatória quando a conta possui Verificação em Duas Etapas (2FA) ativada.
Antes de começar, confirme que:
- ✔️ Sua conta Google possui Verificação em duas etapas (2FA) ativada
- ✔️ Você tem acesso ao painel de segurança da conta
- ✔️ O envio será feito via SMTP autenticado
-
Acesse sua conta Google em
👉 https://myaccount.google.com/ -
No menu lateral, clique em Segurança
-
Ative a Verificação em duas etapas, caso ainda não esteja ativa
-
Após ativar o 2FA, acesse a opção
👉 Senhas de app
Link direto: https://myaccount.google.com/apppasswords -
Em Selecionar app, escolha:
-
Em Selecionar dispositivo, escolha:
- 💻 Outro (nome personalizado)
- Informe um nome como:
Sistema Backend,API SMTP,App Produção, etc.
-
Clique em Gerar
-
O Google exibirá uma senha no formato:
No repositório, acesse:
Settings → Secrets and variables → Actions
| Nome | Descrição |
|---|---|
| AUTO_RELEASE_SMTP_HOST | Servidor SMTP |
| AUTO_RELEASE_SMTP_PORT | Porta SMTP |
| AUTO_RELEASE_SMTP_USER | Usuário SMTP |
| AUTO_RELEASE_SMTP_PASS | Senha SMTP |
| Nome | Descrição |
|---|---|
| AUTO_RELEASE_MAIL_TO | Lista de e-mails destinatários |
| ENVIRONMENT | Ambiente que a aplicação está sendo executada |
-
Assunto:
🚀 Release v1.2.0 publicada -
Corpo:
- Versão
- Data
- Autor
- Notas da Release
- Link direto para o GitHub
Para ambientes corporativos:
- Utilize Environments no GitHub
- Separe:
- staging
- production
- Configure approval manual para production
- Centralize SMTP via domínio corporativo
Você pode facilmente:
- Alterar layout HTML
- Incluir changelog automático via API
- Adicionar geração de PDF
- Integrar com:
- Slack
- Microsoft Teams
- Jira
- Freshdesk
-
Crie uma nova tag:
git tag v1.0.1 git push origin v1.0.1
-
Publique a release no GitHub.
-
O workflow será disparado automaticamente.
- Elimina envio manual de release notes
- Reduz erro humano
- Padroniza comunicação
- Melhora governança de deploy
- Histórico auditável
- Template dinâmico configurável
- Multi-destinatários por ambiente
- Geração automática de changelog por commit
- Integração com Jira
- Webhook externo
Desenvolvido por N4W Solutions
Especialistas em:
- Arquitetura Web
- Automação DevOps
- Governança de Dados
- Integrações Enterprise
Este projeto pode ser adaptado para uso interno corporativo.