Pular para o conteúdo principal

Por que integrar o Devin ao GitHub?

Integrar o Devin à sua organização no GitHub permite que ele crie pull requests, leia e responda aos comentários nos seus PRs, etc. Isso permite que o Devin seja um verdadeiro colaborador na sua equipe de engenharia. A configuração é simples! Acesse app.devin.ai > Settings > Integrations > GitHub, clique em Connect e siga as etapas de integração do aplicativo do GitHub exibidas na tela. Certifique-se de selecionar acesso aos repositórios relevantes e revisar as permissões.
Usando GitHub Enterprise Server? Veja o guia de integração com GitHub Enterprise Server para instruções de configuração usando personal access tokens.

Configurando a integração

Está com problemas? Consulte nossa página de Problemas comuns para soluções para problemas frequentes.
  1. Na sua conta Devin em app.devin.ai, vá em Settings > Integrations > Github e clique no botão “Connect” para integrar sua organização ao app Devin GitHub.
  2. Você será redirecionado para o GitHub, onde poderá selecionar a conta do GitHub e os repositórios para conectar o Devin e revisar as permissões relevantes.
    • Se você estiver configurando a integração com o GitHub em nome da sua organização, certifique-se de selecionar a conta da sua empresa.
Devin
  1. Depois de concluir todas as etapas de configuração no GitHub, você será direcionado para a página de configurações da conta Devin, onde poderá confirmar que a integração está concluída.
Devin
  1. [Apenas para clientes Enterprise] Adicione a conta GitHub cognition-team aos repositórios relevantes. Isso nos permite ajudar na implementação do Devin na sua base de código e monitorar a atividade do Devin.
Recomendamos ativar proteções de branch no master para garantir que as verificações sejam aplicadas antes que o Devin possa mesclar qualquer alteração.

Usando o Devin com a integração com o GitHub

Depois que a integração estiver configurada, você poderá acessar o aplicativo web do Devin e @mencionar o repositório no seu prompt! Se você estiver usando um repositório pela primeira vez, recomendamos seguir o processo de configuração de ambiente de desenvolvimento no fluxo de onboarding para garantir que o Devin tenha as informações mais precisas e atualizadas sobre como trabalhar com sua base de código.
O Devin responderá automaticamente a quaisquer comentários em PRs enquanto a sessão não for arquivada

Modelos de Pull Request

Quando o Devin cria um pull request, ele tentará estruturar a descrição do PR usando um modelo do seu repositório. Se você fornecer um modelo, o Devin seguirá essa estrutura ao escrever a descrição que envia para o GitHub.

Template específico do Devin (recomendado)

Você pode definir um template próprio para o Devin sem alterar o padrão voltado para humanos, adicionando um arquivo chamado devin_pr_template.md em um dos locais de PULL_REQUEST_TEMPLATE compatíveis listados abaixo. Isso é útil se você quiser que o Devin inclua orientações extras (por exemplo, um checklist para revisores ou instruções para incluir um diagrama Mermaid dos arquivos afetados).

Ordem de busca e precedência

Devin procura pelo primeiro arquivo existente na seguinte ordem (o primeiro que corresponder será usado):
  1. PULL_REQUEST_TEMPLATE/devin_pr_template.md
  2. docs/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  3. .github/PULL_REQUEST_TEMPLATE/devin_pr_template.md
  4. pull_request_template.md
  5. docs/pull_request_template.md
  6. .github/pull_request_template.md
Se nenhum desses arquivos existir, Devin reverte para o formato padrão interno de descrição de PR.
Se você já tiver um arquivo GitHub pull_request_template.md que queira que Devin siga à risca, basta copiá-lo (ou criar um symlink) para um dos caminhos devin_pr_template.md acima.
Para saber mais sobre templates de pull request do GitHub (locais suportados, múltiplos templates, parâmetros de query, etc.), consulte a documentação do GitHub: Creating a pull request template for your repository.

Configurando as permissões do Devin

Gerenciando permissões

Você precisa ser um administrador da organização do GitHub onde a integração do Devin está instalada para gerenciar permissões
Ao configurar a integração, você pode escolher conceder permissões para que o Devin acesse todos os repositórios da organização ou apenas um subconjunto selecionado de repositórios.
Você pode ajustar as permissões a qualquer momento pela página de configuração da integração no GitHub depois que o app estiver conectado:
  • Etapa 1: Acesse as configurações de integração do GitHub
  • Etapa 2: Navegue até Devin.ai Integration e clique em “Configure”
  • Etapa 3: Role até a seção “Repository access” para gerenciar permissões
Devin
O Devin requer as seguintes permissões: Acesso de leitura a:
PermissãoDescrição
dependabot alertsPermite que o Devin resolva alertas do Dependabot em seu nome (ou seja, atualizando versões de dependências)
actionsPermite que o Devin visualize as actions configuradas para um repositório, a fim de entender se as alterações do Devin passam no CI
checksPermite que o Devin visualize os checks configurados para um repositório, a fim de entender se as alterações do Devin passam no CI
commit statusesPermite que o Devin veja se um commit passa no CI
deploymentsPermite que o Devin veja quais versões de um repositório foram implantadas
metadataPermite que o Devin veja metadados cruciais sobre um repositório, como quem é o proprietário
packagesPermite que o Devin veja quais versões de um repositório foram entregues como pacote
pagesPermite que o Devin consulte páginas associadas a um repositório, por exemplo, para visualizar documentação
repository advisoriesPermite que o Devin veja avisos de segurança relacionados a um repositório para ajudar a corrigir problemas de segurança
repository hooksPermite que o Devin veja os hooks configurados para um repositório, por exemplo, linting e verificação de tipos
repository projectsPermite que o Devin veja projetos associados a um repositório, por exemplo, para recuperar informações sobre uma tarefa
Acesso de leitura e gravação a:
PermissãoDescrição
codePermite que o Devin contribua com a base de código
discussionsPermite que o Devin contribua em discussions
issuesPermite que o Devin abra novos issues
pull requestsPermite que o Devin crie novos PRs
workflowsPermite que o Devin configure novos workflows, por exemplo, para ajudar a configurar CI/CD
Solicitamos essas permissões para que o Devin possa trabalhar no seu repositório como um colaborador comum. Especificamente, permitimos que o Devin faça push de novos branches, abra PRs e contribua em discussões de PRs, o que é essencial para que o Devin contribua de forma produtiva com sua base de código.

Assinatura de commits

Durante a sua configuração do repositório, você pode usar o Terminal do Devin para gerar uma chave GPG que será usada para assinar commits, conforme o processo de GPG descrito na documentação do GitHub. Recomendamos criar uma conta fictícia no GitHub para a sua organização e enviar para ela a chave GPG (por exemplo, [email protected]), para que você possa verificar quais commits estão vindo do Devin.
Devin

Considerações de segurança

Algumas informações adicionais sobre as permissões do Devin no GitHub:
  • Recomendamos habilitar proteções de branch no master para garantir que as verificações sejam exigidas antes que o Devin possa mesclar qualquer alteração.
  • Se o Devin estiver conectado à conta do GitHub da sua organização, ele terá as mesmas permissões que qualquer usuário com acesso às organizações do GitHub e do Devin.
  • O Devin não espelhará as permissões do usuário que estiver executando uma sessão com ele; manterá as permissões concedidas no nível da organização.
  • O Devin não pode criar novos repositórios na sua conta do GitHub.

Lista de IPs permitidos

Se você precisar autorizar os serviços do Devin para acessar os recursos do GitHub da sua organização, adicione os seguintes endereços IP:
  • 100.20.50.251
  • 44.238.19.62
  • 52.10.84.81
  • 52.183.72.253
  • 20.172.46.235
  • 52.159.232.99
(Observe que esses IPs podem mudar em atualizações futuras.)

Perguntas frequentes sobre a integração com o GitHub

Sim, um usuário pode optar por conectar uma conta de organização ou uma conta pessoal do GitHub à conta do Devin da sua organização, mas recomendamos conectar a conta que terá as permissões relevantes para o Devin executar sessões para a organização.
Somente usuários autenticados com acesso/permissões à organização à qual a integração com o GitHub foi conectada podem usá-la em suas execuções do Devin. Em outras palavras, o Devin só terá acesso a uma integração com o GitHub se for iniciado por pessoas que fazem parte das organizações que instalaram essa integração com o GitHub.
As chaves de criptografia são gerenciadas pelo AWS KMS e rotacionadas periodicamente.