Pular para o conteúdo principal

Por que integrar o Devin com o GitHub?

Integrar o Devin à sua organização no GitHub permite que ele crie pull requests, responda a comentários em PRs e colabore diretamente nos seus repositórios. Isso permite que o Devin atue como um colaborador pleno na sua equipe de engenharia. Para começar, acesse app.devin.ai > Settings > Integrations > GitHub, clique em Add Connection e siga as instruções. Você selecionará quais repositórios o Devin poderá acessar e revisará as permissões necessárias.
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

Você precisa ser administrador da sua organização no GitHub para criar e gerenciar a integração do Devin. Está com problemas? Confira nossa página de Problemas comuns.
  1. Na sua conta no Devin em app.devin.ai, vá até Settings > Integrations > GitHub e clique em Add Connection.
Devin
  1. Se você ainda não estiver logado no GitHub, será solicitado que se autentique.
Devin
  1. Selecione a organização do GitHub que você quer conectar ao Devin.
Devin
  1. Escolha se deseja conceder ao Devin acesso a All repositories ou Select repositories para controlar quais repositórios o Devin poderá acessar.
Devin
  1. Depois de concluir a autorização do GitHub, você será redirecionado para as configurações do Devin, onde poderá confirmar que a integração está ativa.
Devin
Recomendamos ativar regras de proteção na branch principal para garantir que todas as verificações obrigatórias sejam aprovadas antes que o Devin possa mesclar alterações.

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

Para usuários do Core e do Teams

Assim que a integração estiver configurada, você poderá mencionar repositórios com @ diretamente nos seus prompts no aplicativo web do Devin.

Para usuários Enterprise

Após configurar a integração, você pode delegar repositórios a organizações específicas em Enterprise Settings > Repository Permissions.
Devin
Se você estiver trabalhando com um repositório pela primeira vez, recomendamos que conclua a configuração do ambiente de desenvolvimento no fluxo de onboarding para garantir que o Devin tenha informações precisas e atualizadas sobre o seu código. O Devin responde automaticamente a comentários em PR enquanto a sessão não tiver sido arquivada.

Gerenciando as permissões do Devin no GitHub

Durante a configuração, você pode conceder ao Devin acesso a todos os repositórios da sua organização ou limitar o acesso a repositórios específicos. Você pode ajustar o acesso a repositórios a qualquer momento nas configurações do GitHub:
  1. Navegue até Settings > GitHub Apps da organização no GitHub (por exemplo, https://github.com/organizations/<org_name>/settings/installations)
  2. Selecione Configure para a integração Devin.ai
  3. Em Repository access, escolha conceder acesso a todos os repositórios ou selecione repositórios específicos
  4. Clique em Save para aplicar as alteraçõ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
Essas permissões permitem que o Devin trabalhe nos seus repositórios como um colaborador comum — fazendo push de branches, abrindo pull requests (PRs) e participando de discussões de PRs.

Modelos de Pull Request

Quando o Devin cria um pull request, ele usa um modelo do seu repositório para estruturar a descrição do PR. Se você fornecer um modelo, o Devin seguirá esse formato ao enviar PRs para o GitHub. Você pode fornecer ao Devin seu próprio modelo sem modificar seu modelo padrão voltado para pessoas, adicionando um arquivo chamado devin_pr_template.md em um dos locais compatíveis de PULL_REQUEST_TEMPLATE abaixo. Isso é útil se você quiser que o Devin inclua contexto adicional, como uma lista de verificação para revisores ou um diagrama Mermaid dos arquivos modificados.

Ordem de busca de templates

Devin procura templates na seguinte ordem e usa o primeiro que encontrar:
  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 template for encontrado, Devin usa seu formato padrão de descrição de PR.
Se você quiser que o Devin use seu pull_request_template.md existente, copie-o ou crie um symlink para um dos caminhos devin_pr_template.md listados 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.

Assinatura de commits

Durante a configuração do repositório, você pode usar o terminal do Devin para gerar uma chave GPG para assinar commits, seguindo o processo descrito na documentação do GitHub. Recomendamos criar uma conta dedicada do GitHub na sua organização (por exemplo, devin@company.com) para associar à chave GPG, facilitando a identificação de commits feitos pelo Devin.
Devin

Considerações de segurança

  • Proteção de branch: Recomendamos ativar regras de proteção de branch na branch principal para garantir que todas as verificações necessárias sejam concluídas com sucesso antes que o Devin possa mesclar alterações.
  • Permissões em nível de organização: O Devin usa as permissões concedidas em nível de organização, não as permissões do usuário que está executando a sessão.
  • Acesso consistente: Todos os usuários com acesso tanto à organização no GitHub quanto à organização no Devin compartilham as mesmas permissões de integração do Devin.
  • Criação de repositório: O Devin não pode criar novos repositórios na sua conta do GitHub.

Lista de IPs permitidos

Se a sua organização exigir uma lista de IPs permitidos para acesso ao GitHub, 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
Esses endereços IP podem mudar em atualizações futuras. Recomendamos acompanhar nossas notas de versão para quaisquer alterações.

Perguntas frequentes sobre a integração com o GitHub

Sim, você pode conectar uma organização do GitHub ou uma conta pessoal do GitHub à sua organização no Devin. No entanto, recomendamos conectar a conta que tenha as permissões apropriadas para o Devin acessar os repositórios de que sua equipe precisa.
Somente usuários que são membros da organização que instalou a integração com o GitHub podem usá-la em suas sessões do Devin. O Devin herda o acesso à integração com o GitHub com base na associação do usuário à organização.
As chaves de criptografia são gerenciadas pelo AWS KMS e rotacionadas periodicamente.