Skip to main content

Visão geral

Este guia apresenta a configuração completa para integrar uma instância do GitLab ao Devin, incluindo tanto a configuração do administrador quanto a configuração do usuário final. O Devin oferece suporte ao GitLab autogerenciado versão 15.0 e posteriores. A integração tem duas partes:
  1. Configuração do administrador
    • Conectar a instância auto-hospedada do GitLab da organização ao Devin
    • Configurar uma conta de serviço
    • Configurar o acesso ao repositório
    • Registrar o OAuth para que os usuários possam vincular suas contas pessoais do GitLab
  2. Configuração do usuário
    • Vincular a conta do GitLab de um usuário à sua conta do Devin
A configuração do administrador deve ser concluída antes que qualquer usuário possa vincular sua conta do GitLab. Somente admins do Enterprise podem executar as etapas de configuração do administrador.

Parte 1: Configuração do administrador

Etapa 1: Criar uma conta de serviço no GitLab

No GitLab:
  1. Acesse o grupo do GitLab correto
  2. Vá para Configurações
  3. Abra Service Accounts
  4. Crie uma nova conta de serviço
Essa é a conta de serviço que o Devin usará para acessar repositórios no GitLab.
Criar conta de serviço no GitLab

Etapa 2: Adicione a conta de serviço como membro do grupo

Ainda no GitLab:
  1. Acesse a página Members do grupo
Página de membros do grupo no GitLab
  1. Adicione a conta de serviço como membro do grupo
  2. Atribua a ela uma função de acordo com o que o Devin deve fazer:
    • Developer é suficiente para conectar o Devin e ler os repositórios
    • Maintainer se o Devin precisar configurar webhooks de projeto automaticamente
    • Owner para webhooks no nível do grupo (webhooks de grupo exigem GitLab Premium ou Ultimate)
Isso é necessário para que a conta de serviço possa acessar os repositórios corretamente. A associação ao grupo abrange todos os projetos dele.

Etapa 3: Gere um token de acesso pessoal para a conta de serviço

Após criar a conta de serviço:
  1. Localize a conta de serviço recém-criada
  2. Clique nos três pontos > Gerenciar tokens de acesso > Gerar um novo token de acesso pessoal > selecione api nos escopos de acesso
  3. Copie e armazene esse token em segurança
Certifique-se de selecionar o token da conta de serviço, e não o seu token de acesso pessoal, encontrado nas preferências do usuário. O objetivo é que o Devin atue como a conta de serviço, e não como você. Você usará esse token ao adicionar a conexão do GitLab no Devin.

Etapa 4: Adicione a conexão do GitLab no Devin

No Devin:
  1. Acesse Configurações Enterprise
  2. Abra Conexões
  3. Adicione uma nova conexão
  4. Insira:
    • A URL do GitLab auto-hospedado (se aplicável)
Adicionar URL da conexão do GitLab
  • O token de acesso pessoal criado para a conta de serviço
Isso cria a conexão Enterprise do GitLab.

Etapa 5: Configurar o webhook

Configurar um webhook permite que o Devin receba automaticamente notificações em tempo real quando determinados eventos ocorrem no GitLab (como a abertura ou atualização de merge requests e comentários em merge requests). Para configurar o webhook:
  1. No Devin, acesse Settings > Conexões > GitLab e clique na conexão do GitLab que você acabou de adicionar para abrir o painel de detalhes
  2. Na aba General, clique em Configure na linha Webhook
  3. Copie a URL e o Secret Token do webhook exibidos na caixa de diálogo
  4. Siga as etapas de Group (recomendado) ou Project indicadas na caixa de diálogo para adicionar o webhook no GitLab, selecionando os gatilhos Comments, Merge request events, Push events, Issues events e Pipeline events
Para adicionar um webhook no GitLab, é necessário ter a função Maintainer no projeto ou a função Owner no grupo, no caso de webhooks de grupo (Premium ou Ultimate). Quando a configuração automática de webhooks está disponível para sua organização, a caixa de diálogo informa que o Devin configura webhooks em todos os projetos e grupos que a conta de serviço pode administrar. Isso só funciona onde a conta de serviço tem essas funções (consulte a Etapa 2). Se não for possível conceder à conta de serviço a função Maintainer ou Owner, um usuário do GitLab com esse acesso pode adicionar o webhook manualmente usando a URL e o token secreto exibidos na caixa de diálogo.
Após a configuração, o Devin poderá responder a eventos do GitLab em tempo real, sem depender de consultas periódicas.

Etapa 6: Verifique o acesso aos repositórios

Após adicionar a conexão:
  1. Confirme que a conta de serviço tem acesso aos repositórios que você quer usar
  2. No Devin, se os repositórios não aparecerem imediatamente, atualize manualmente a lista de repositórios
  3. Acesse Repositórios Enterprise
  4. Selecione a organização correta
Repositórios Enterprise
  1. Abra Gerenciar permissões
  2. Adicione os repositórios relevantes com as permissões adequadas de leitura/gravação
Gerenciar permissões de repositório
Se algum repositório estiver faltando, pode ser porque o Devin atualiza a lista de repositórios periodicamente, e não instantaneamente.

Parte 2: Ativar a vinculação de usuários no GitLab auto-hospedado

Etapa 7: Registre um aplicativo OAuth na instância auto-hospedada do GitLab

Para permitir que usuários individuais vinculem sua identidade do GitLab ao Devin, o administrador deve registrar um app OAuth para a instância auto-hospedada do GitLab. No Devin:
  1. Acesse a área de conexão do GitLab no Enterprise
  2. Abra Advanced
  3. Vá para a seção de GitLab auto-hospedado
  4. Inicie o fluxo para registrar um aplicativo OAuth
Registrar aplicativo OAuth

Etapa 8: Conclua o registro do app OAuth no GitLab

Siga o link no modal de registro para abrir o formulário do aplicativo no GitLab. Preencha os campos como mostrado:
  1. Defina Name e Redirect URI exatamente como mostrado no modal do Devin
  2. Ative a caixa de seleção Confidential
  3. Selecione o escopo api
  4. Clique em Save application
Configurações do app OAuth do GitLab
  1. Copie o Application ID e o Application Secret do GitLab
  2. Volte ao Devin e cole esses valores no modal de registro
  3. Clique em Register
Isso conclui a configuração do lado do administrador necessária para a vinculação de identidade de usuário.

Parte 3: Requisito de associação à organização

Etapa 9: Verifique se o usuário pertence à organização do Devin correta

Antes que um usuário possa vincular a conta do GitLab, ele precisa ser membro de uma organização do Devin com permissões para repositórios do GitLab. No Devin:
  1. Vá para a seção de associação à organização
  2. Confirme que o usuário faz parte de uma organização do Devin com permissões para repositórios do GitLab
  3. Se não fizer parte, adicione-o primeiro
Conexões pessoais mostra apenas integrações das organizações às quais o usuário pertence. Se um usuário não estiver em uma organização do Devin com permissões para repositórios do GitLab, a integração do GitLab pode nem aparecer.

Parte 4: Configuração para o usuário final

Etapa 10: Abra as Conexões pessoais

Como usuário final no Devin:
  1. Vá para Conexões pessoais
  2. Procure a integração auto-hospedada do GitLab
Se ela não aparecer, verifique primeiro sua associação à organização.
Assim que a integração aparecer:
  1. Selecione a conexão do GitLab auto-hospedado
  2. Conclua o processo de vinculação
  3. Vincule a conta do GitLab do usuário à conta do Devin dele
Depois disso, Devin deverá conseguir atuar como esse usuário nas operações do GitLab.

Considerações de segurança

  • Credenciais criptografadas — Todos os tokens são criptografados e armazenados com segurança. Isso inclui o token de acesso pessoal da conta de serviço, o segredo do aplicativo OAuth e os tokens OAuth gerados quando os usuários vinculam suas contas no GitLab.
  • Criptografia em trânsito — Todos os dados são criptografados em trânsito e em repouso. O Devin se conecta à sua instância do GitLab via HTTPS, e as entregas de webhook são verificadas com o token secreto gerado na configuração do webhook.
  • Autorização explícita — Adicionar a conexão, por si só, não concede acesso a nenhum repositório. É preciso conceder explicitamente os repositórios a uma organização do Devin, com permissões de leitura/gravação, em Repositórios Enterprise > Gerenciar permissões.
  • Acesso com escopo definido — O Devin atua por meio da conta de serviço; portanto, a função dela no GitLab (Developer, Maintainer ou Owner) e a associação dessa conta aos projetos determinam o que o Devin pode acessar.
  • Auditabilidade — Usar uma conta de serviço dedicada facilita identificar as atividades do Devin no GitLab.
  • Proteções de branch respeitadas — Os merge requests do Devin estão sujeitos às mesmas regras de proteção de branch e aos mesmos requisitos de aprovação que os de qualquer outro colaborador.