Skip to main content
A API do Devin é uma ferramenta poderosa. Leia o artigo a seguir antes de continuar com este guia.

1. Visão geral do processo

  1. 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.
  2. GitLab Action é acionado: A abertura do PR aciona automaticamente um workflow do GitHub Actions.
  3. GitLab Action chama a Devin API: O GitHub Actions envia uma solicitação para a Devin API, repassando os problemas identificados para resolução automatizada.
  4. 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.
  5. Devin propõe PR para revisão humana: Quando 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

  1. Configure o ambiente do GitLab para armazenar os segredos necessários:
    • Configure o ambiente do GitLab 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.
Após concluir esses passos, seu pipeline estará pronto para resolver problemas automaticamente usando a API do Devin, acelerando o processo e reduzindo a necessidade de intervenção manual.
  1. Teste a Integração
Após concluir a configuração, você pode testar a integração acionando manualmente uma GitLab Action. Isso permitirá verificar se a action chama corretamente a API do Devin e resolve os problemas identificados.
  1. Visualize a Página de Sessões do Devin
Após o GitLab Build ser acionado e o Devin processar os problemas, você pode visualizar o status e os resultados na página de sessões do Devin. Esta página fornece insights detalhados sobre os problemas resolvidos e as alterações propostas. Como mencionado anteriormente, os valores necessários do SonarQube são: Para configurar a integração, você precisará obter os seguintes três valores da sua instância do SonarQube: Você precisará de três_valores do SonarQube: {SONAR_TOKEN, SONAR_ORG, SONAR_PROJECT_KEY} Após obter todos os valores necessários, você estará pronto para configurar a GitLab Action.
Isso pressupõe que você tenha um arquivo de propriedades local do SonarCloud sonar-project.properties que especifica:
A GitLab Action possui o seguinte código-fonte
Relembrando, devin_remediation.py é o seguinte:
A resposta de sessão da v1 informa o progresso por meio de status_enum. Uma sessão que é concluída normalmente informa finished; blocked e expired são status terminais que exigem atenção humana. Consulte Recuperar detalhes sobre uma sessão existente para ver a lista completa de valores.
Para garantir que a GitLab Action defina as variáveis de ambiente corretas, adicione-as em GitLab CI/CD Variables. Encontrar as configurações corretas pode ser complicado. Acesse Settings > CI/CD e expanda Variables. Adicione SONAR_TOKEN, SONAR_ORG e DEVIN_API_KEY em Project variables. Os nomes das variáveis devem corresponder aos referenciados na configuração do pipeline acima.
SonarQube
Se você usar o GitLab em modo auto-hospedado (self-hosted), a única diferença será: Depois de tudo configurado, você pode monitorar a execução da sua GitLab Action. Se ela for executada com sucesso, aparecerá da seguinte forma:
SonarQube
Você pode visualizar as sessões do Devin no Session Manager.
SonarQube
Após a conclusão, o Devin abrirá pull requests automaticamente. Se você usa GitLab, consulte o guia vinculado.