Resolução automática de problemas com a API do Devin
1. Visão geral do processo
- Pull request é aberto: Um pull request (PR) é enviado ao repositório com alterações que podem conter problemas identificados por uma ferramenta de análise de código.
- GitHub Action é disparado: A abertura do PR dispara automaticamente um fluxo de trabalho (workflow) do GitHub Action.
- GitHub Action chama a API do Devin: O GitHub Action envia uma requisição para a API do Devin, repassando os problemas identificados para resolução automatizada.
- Sessão do Devin é inicializada: Uma sessão do Devin é iniciada, recebendo o contexto do problema e tentando resolvê-lo com base nos dados fornecidos.
- Devin propõe PR para revisão humana: Assim que o problema é resolvido, o Devin gera um PR com as alterações propostas e o envia para revisão humana.
2. Passos para realizar isso
-
Configurar o SonarQube para suporte a CI e API:
- Certifique-se de que o SonarQube esteja configurado para oferecer suporte à integração contínua (CI) e à integração via API. Se você preferir não configurar o SonarQube para acesso via API, poderá usar um cookie para autenticação. Saiba mais sobre essa configuração aqui.
-
Configurar o ambiente do GitHub para armazenar os segredos necessários:
- Configure o ambiente do GitHub para armazenar com segurança os segredos necessários, como tokens de autenticação e chaves de configuração, para interagir com a API do Devin e outras ferramentas integradas.
- Testar a integração
- Visualizar a página de sessões do Devin
Para configurar a integração, você precisará obter os três valores a seguir da sua instância do SonarQube:
1. Crie o SONAR_TOKEN:
- Clique no ícone da sua conta no canto superior direito do SonarQube.
- Selecione Security na lista suspensa.
- Em Tokens, clique em Generate Tokens.
- Dê um nome ao token e clique em Generate.
- Copie o token gerado para usar no GitHub Actions.

2. Crie SONAR_PROJECT
- Selecione o projeto no SonarQube.
- Clique em Information no canto inferior esquerdo.
- Role para baixo para encontrar a chave do projeto.

3. Crie SONAR_ORG
Pressupõe-se que você tenha um arquivo de propriedades local do SonarCloud
sonar-project.properties que defina:


