Correção automática de builds de CI com falha
Adicione uma GitHub Action que chama o Devin para corrigir falhas de CI nos seus PRs.Armazene sua chave de API do Devin no GitHub
O fluxo de trabalho chama a API v3 do Devin para criar sessões programaticamente. Crie um usuário de serviço e armazene seu token como um segredo no GitHub Actions:
- Vá para app.devin.ai > Settings > Service Users e crie um usuário de serviço com a permissão
ManageOrgSessions - Copie o token de API exibido após a criação — ele só é mostrado uma vez
- No seu repositório do GitHub, navegue até Settings > Secrets and variables > Actions
- Adicione dois segredos:
DEVIN_API_KEY(o token) eDEVIN_ORG_ID(o ID da sua organização — obtenha-o chamandoGET https://api.devin.ai/v3/enterprise/organizationscom o seu token)
Adicione o arquivo de workflow
Crie Substitua
.github/workflows/devin-ci-fix.yml. Esse workflow é disparado sempre que seu workflow de CI existente termina em falha, extrai os nomes dos jobs que falharam e chama a Devin API para iniciar uma sessão de correção:"CI" no array workflows pelo name: exato do seu arquivo de workflow de CI existente (por exemplo, "Tests", "Build & Test").Use o campo tags no corpo da requisição (por exemplo, "tags": ["ci-fix", "pr-312"]) para rastrear quais falhas de CI já acionaram sessões e evitar duplicações.O que acontece quando o CI falha
Quando a execução de CI de um PR falha, a Action extrai os detalhes da falha e os passa para o Devin como um prompt de sessão. Veja um fluxo típico de correção automática:
- Lê os logs de CI — Devin abre a URL da execução e analisa a saída de erro, stack traces e resultados de testes dos jobs com falha
- Rastreia o erro até o código — Localiza o arquivo e a linha relevantes no branch do PR (por exemplo,
UserList.tsx:34) e lê o código ao redor e o diff recente - Envia uma correção — Faz um commit com uma alteração pontual diretamente no branch do PR, o que aciona novamente o CI automaticamente
- Comenta no PR — Publica um resumo explicando a causa raiz e o que foi alterado
Direcione para as falhas certas
Nem toda falha em CI se beneficia de uma correção automática — timeouts de infraestrutura e problemas de build do Docker não serão resolvidos por uma alteração de código. Adicione uma condição para que apenas falhas de jobs relevantes acionem o Devin:
