Configurar Webhooks
Webhooks permitem processamento instantaneo de releases, sem depender do polling do scheduler.
Como Funciona
GitHub Release ──► Webhook POST ──► GitOps valida ──► Processa release
(publicado) /webhook/github HMAC SHA256O GitHub envia um evento release com payload JSON. O GitOps:
- Valida a assinatura HMAC SHA256 (
X-Hub-Signature-256) - Verifica se o repositorio esta registrado
- Ignora releases draft
- Processa se ainda nao foi processado
Criar Webhook
Via API
curl -X POST https://sys.gitops.borlot.com.br/monitor/webhooks/devborlot/meu-repo \
-H "X-API-Key: SUA_API_KEY"O GitOps configura automaticamente:
- URL: endpoint do webhook
- Secret: da variavel
GITHUB_WEBHOOK_SECRET - Eventos: apenas
release - Content type:
application/json
Via MCP
> Cria webhook para devborlot/meu-repoVia Dashboard
Na pagina do repositorio, clique em Criar Webhook.
Listar Webhooks
curl https://sys.gitops.borlot.com.br/monitor/webhooks/devborlot/meu-repo \
-H "X-API-Key: SUA_API_KEY"Retorna:
{
"success": true,
"repository": "devborlot/meu-repo",
"total": 1,
"webhooks": [
{
"id": 123456,
"active": true,
"events": ["release"],
"created_at": "2026-01-15T10:00:00Z"
}
]
}Remover Webhook
curl -X DELETE https://sys.gitops.borlot.com.br/monitor/webhooks/devborlot/meu-repo/123456 \
-H "X-API-Key: SUA_API_KEY"Webhook vs Scheduler
| Aspecto | Webhook | Scheduler |
|---|---|---|
| Velocidade | Instantaneo | A cada N minutos |
| Confiabilidade | Depende do GitHub | Independente |
| Configuracao | Requer setup por repo | Automatico |
| Duplicatas | Verificadas | Verificadas |
Recomendacao: Use webhook para processamento rapido + scheduler como fallback.
Verificacao de Assinatura
O GitOps valida todas as requisicoes de webhook usando HMAC SHA256:
X-Hub-Signature-256: sha256=abc123...Se a assinatura nao confere, a requisicao e rejeitada com 401.
Troubleshooting
Webhook nao dispara:
- Verifique se o release e "published" (nao draft)
- Confirme que o webhook esta ativo no GitHub (Settings > Webhooks)
- Veja os "Recent Deliveries" no GitHub para erros
Erro 401 no webhook:
- O
GITHUB_WEBHOOK_SECRETdo GitOps deve ser igual ao secret configurado no webhook
Erro 404 no webhook:
- O repositorio precisa estar registrado no GitOps antes de receber webhooks
By Borlot.com.br on 06/03/2026