Skip to main content

Automação de Tarefas no GitHub: Como Usar Ações Sem Servidor

Introdução

A automação de tarefas no GitHub é uma prática cada vez mais importante para desenvolvedores e equipes que buscam otimizar seus fluxos de trabalho. Neste artigo, você aprenderá como utilizar Ações Sem Servidor (serverless) para facilitar a criação de novos repositórios em uma organização. Vamos explorar como configurar um sistema de solicitações através de problemas (issues) no GitHub, permitindo que membros da equipe façam pedidos de novos repositórios de forma simples e organizada.

Automação de Tarefas no GitHub: Como Usar Ações Sem Servidor

O Que Você Vai Aprender

Com este guia prático, você será capaz de:

  • Criar e configurar uma ação serverless utilizando o IBM Cloud Functions.
  • Configurar um webhook que será acionado por eventos no GitHub.
  • Interagir com a API do GitHub para automatizar a criação de repositórios.

Pré-Requisitos

Antes de começar, verifique se você possui os seguintes itens:

  • Uma conta gratuita no IBM Cloud.
  • Uma conta no GitHub.
  • Permissões de propriedade em uma organização no GitHub (ou crie uma se necessário).

Tempo Estimado: Este tutorial deve ser concluído em aproximadamente 45 minutos.

Passo a Passo para a Automação

1. Gerar um Token de Acesso Pessoal do GitHub

Para interagir com as APIs do GitHub, você precisará de um token de acesso. Siga estas etapas:

  1. Acesse as Configurações do GitHub.
  2. Navegue até Configurações do Desenvolvedor.
  3. Selecione Tokens de acesso pessoal.
  4. Clique em Gerar novo token.
  5. Assegure-se de que a opção Repo esteja habilitada e clique em Gerar token.

Guarde este token em um lugar seguro, pois você precisará dele ao longo do tutorial.

2. Criar um Acionador e uma Ação Sem Servidor
Criar um Acionador
  1. Acesse sua conta do IBM Cloud e localize a seção Funções no menu.
  2. Clique em Criar Acionador e escolha a opção Acionador Personalizado.
  3. Dê um nome e descrição ao acionador e salve.

Salve a URL gerada, pois ela será usada no webhook do GitHub.

Criar uma Ação

Agora, vamos criar um código Python que será executado quando o acionador for acionado.

  1. Na seção Funções, clique em Criar Ação.
  2. Escolha Python 3 como sistema de tempo de execução e cole o seguinte código:
import json
import requests

def main(params):
    # lógica para criar um repositório
    return {'message': 'Ação executada com sucesso'}
3. Configurar um Repositório GitHub para Webhooks

Para que seu sistema funcione, você precisará criar um repositório onde os membros podem registrar pedidos de novos repositórios.

  1. Crie um novo repositório no GitHub.
  2. Acesse as configurações do repositório e vá para Webhooks.
  3. Crie um novo webhook com a URL de Payload fornecida pelo acionador do IBM Cloud.

Selecione Comentários de Problemas como evento para acionar o webhook.

4. Executar o Sistema

Agora que seu workflow está configurado, peça a um membro da equipe para registrar um problema no formato que você criou, por exemplo:

## Essenciais
* nome: nome_do_repositorio
* usuários: user1, user2
* descrição: este repositório é para...
* licença: apache-2.0

Quando alguém deixar um comentário como /approve, o acionador será acionado, e automaticamente criará o novo repositório.

5. Revisar a Implementação do Código

É importante revisar a lógica do código para garantir que os repositórios sejam criados corretamente e as interações com a API do GitHub estejam funcionando. Aqui estão alguns pontos que você deve considerar:

  • Verificação de Acesso: Certifique-se de que apenas usuários autorizados possam aprovar a criação de repositórios.
  • Tratamento de Erros: Verifique se há erros durante a criação do repositório e adicione retornos apropriados.

Conclusão

Com estas etapas, você aprendeu como automatizar a criação de repositórios no GitHub utilizando ações sem servidor com o IBM Cloud. Essa configuração não apenas agiliza o processo de criação de novos repositórios, mas também proporciona uma maneira organizada de gerenciar solicitações dentro da sua equipe.

Sinta-se à vontade para compartilhar suas experiências ou dúvidas sobre este processo. Explore mais sobre automação e amplie suas práticas de desenvolvimento!

Deixe uma Resposta