DEV Community

Edson Costa for Devs Norte

Posted on

1

Automatizando Notificações via Telegram com GitHub Actions

O GitHub Actions é uma ferramenta poderosa que permite automatizar tarefas dentro do fluxo de trabalho de desenvolvimento. Uma aplicação útil disso é a capacidade de enviar notificações para diferentes plataformas, como o Telegram, sempre que ocorrerem eventos específicos em seus repositórios do GitHub. Neste artigo, vamos explorar como configurar e utilizar o GitHub Actions para enviar notificações via Telegram.

O que é o GitHub Actions?

O GitHub Actions é um serviço de automação integrado diretamente no GitHub, permitindo que você crie fluxos de trabalho personalizados para automatizar processos de desenvolvimento, desde a construção e teste até a implantação e notificação.

Configurando o Telegram Bot

Antes de começarmos com o GitHub Actions, é necessário criar um bot no Telegram e obter seu token de acesso. Siga os passos abaixo:

  1. Abra o Telegram e pesquise por BotFather.
  2. Inicie uma conversa com o BotFather.
  3. Use o comando /newbot para criar um novo bot.
  4. Siga as instruções do BotFather, fornecendo um nome e um nome de usuário para o seu bot.
  5. Após a criação, o BotFather irá fornecer um token de acesso para o seu bot. Mantenha esse token seguro, pois será usado posteriormente.

Configurando o GitHub Actions

Agora que temos o token do nosso bot, vamos configurar o GitHub Actions para enviar notificações para o Telegram sempre que ocorrerem eventos específicos em nosso repositório.

  1. No seu repositório do GitHub, crie um diretório chamado .github/workflows se ainda não existir.
  2. Dentro deste diretório, crie um arquivo YAML com o nome que desejar, por exemplo, telegram-notification.yml.

  3. Adicione o seguinte conteúdo ao arquivo YAML:

name: Telegram Notification

on:
  push:
    branches:
      - main

jobs:
  telegram-notification:
    runs-on: ubuntu-latest
    steps:
      - name: Send Telegram Notification
        uses: appleboy/telegram-action@master
        with:
          to: ${{ secrets.TELEGRAM_TO }}
          token: ${{ secrets.TELEGRAM_TOKEN }}
          message: "New commit pushed to the repository."
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, configuramos o fluxo de trabalho para enviar uma notificação para o Telegram sempre que houver um push para a branch principal (main). Você pode personalizar os eventos e as branches conforme necessário.

  1. Agora, precisamos adicionar as variáveis de ambiente TELEGRAM_TO e TELEGRAM_TOKEN como segredos em nosso repositório.
  • TELEGRAM_TO: Este é o ID do chat para o qual a mensagem será enviada. Você pode obter isso iniciando uma conversa com seu bot no Telegram e usando a API do Telegram para recuperar o ID do chat.
  • TELEGRAM_TOKEN: Este é o token de acesso que obtivemos anteriormente do BotFather.

Para adicionar esses segredos:

  • Navegue até as configurações do seu repositório no GitHub.
  • Selecione "Secrets" no menu lateral.
  • Clique em "New repository secret" e adicione as variáveis TELEGRAM_TO e TELEGRAM_TOKEN com seus valores correspondentes.

Testando o Fluxo de Trabalho

Com tudo configurado, você pode testar o fluxo de trabalho fazendo um push para a branch principal do seu repositório. Após o push, você deve receber uma notificação no Telegram informando sobre a nova alteração no repositório.

Conclusão

O GitHub Actions oferece uma maneira conveniente de automatizar tarefas repetitivas, como enviar notificações para plataformas externas como o Telegram. Neste artigo, vimos como configurar o GitHub Actions para enviar notificações via Telegram sempre que ocorrerem eventos específicos em um repositório do GitHub. Essa automação pode ajudar a manter equipes informadas sobre o progresso do desenvolvimento e a agilizar o fluxo de trabalho de desenvolvimento de software.

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay