Skip to content

Latest commit

 

History

History
152 lines (112 loc) · 3.99 KB

File metadata and controls

152 lines (112 loc) · 3.99 KB

🚀 Começando com o gitautomata

Este guia irá te ajudar a configurar e rodar o gitautomata pela primeira vez.

Pré-requisitos

Instalação

  1. Clone o repositório:

    git clone https://github.com/seu-usuario/gitautomata.git
    cd gitautomata
  2. Instale as dependências:

    npm install
  3. Configure as variáveis de ambiente:

    cp .env.example .env

    Edite o arquivo .env e configure:

    GITHUB_TOKEN=seu_token_aqui
    WEBHOOK_SECRET=seu_webhook_secret_aqui
    PORT=3000

Configuração do GitHub Token

  1. Vá para GitHub Settings > Developer settings > Personal access tokens
  2. Clique em "Generate new token"
  3. Selecione os seguintes escopos:
    • repo (acesso completo a repositórios)
    • issues (leitura/escrita de issues)
    • pull_requests (leitura/escrita de PRs)
    • workflow (acesso aos GitHub Actions)

Primeiros Passos

1. Executar o servidor localmente

npm run dev

O servidor será iniciado na porta 3000 (ou a porta configurada no .env).

2. Testar a automação Hello World

curl -X POST http://localhost:3000/automations/hello-world/run \\
  -H "Content-Type: application/json" \\
  -d '{"args": ["Olá do gitautomata!"]}'

3. Verificar as automações disponíveis

curl http://localhost:3000/automations

Configurando Webhooks do GitHub

Para que o gitautomata receba eventos em tempo real do GitHub:

  1. Vá para o seu repositório no GitHub
  2. Clique em Settings > Webhooks > Add webhook
  3. Configure:
    • Payload URL: https://seu-servidor.com/webhook/github
    • Content type: application/json
    • Secret: o mesmo valor configurado em WEBHOOK_SECRET
    • Events: Selecione os eventos que você quer monitorar
  4. Clique em Add webhook

Estrutura de Pastas

gitautomata/
├── src/
│   ├── core/           # Engine principal
│   ├── automations/    # Suas automações
│   ├── server/         # Servidor Express
│   └── utils/          # Utilities
├── tests/              # Testes
├── examples/           # Exemplos de automações
└── docs/               # Documentação

Criando sua primeira automação

Crie um arquivo em src/automations/minha-automacao.ts:

import { Automation, GitHubWebhookEvent, GitHubClient } from '../core/automation';

export const minhaAutomacao: Automation = {
  name: 'minha-automacao',
  description: 'Minha primeira automação',

  async onPush(event: GitHubWebhookEvent, github: GitHubClient): Promise<void> {
    console.log('Push recebido!', event.repository?.full_name);
  },

  async run(github: GitHubClient): Promise<void> {
    console.log('Executando manualmente!');
  },
};

Próximos Passos

Solução de Problemas

Erro de autenticação

Verifique se:

  • O token do GitHub está correto no .env
  • O token tem as permissões necessárias
  • O token não expirou

Webhook não funciona

Verifique se:

  • A URL do webhook está correta
  • O secret do webhook confere com o .env
  • O servidor está acessível pela internet
  • Os eventos corretos estão selecionados

Porta já em uso

Se a porta 3000 estiver em uso, altere no .env:

PORT=3001

Suporte