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:- 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
- 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:- Acesse o grupo do GitLab correto
- Vá para Configurações
- Abra Service Accounts
- Crie uma nova conta de serviço

Etapa 2: Adicione a conta de serviço como membro do grupo
Ainda no GitLab:- Acesse a página Members do grupo

- Adicione a conta de serviço como membro do grupo
- 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)
Etapa 3: Gere um token de acesso pessoal para a conta de serviço
Após criar a conta de serviço:- Localize a conta de serviço recém-criada
- Clique nos três pontos > Gerenciar tokens de acesso > Gerar um novo token de acesso pessoal > selecione api nos escopos de acesso
- 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:- Acesse Configurações Enterprise
- Abra Conexões
- Adicione uma nova conexão
- Insira:
- A URL do GitLab auto-hospedado (se aplicável)

- O token de acesso pessoal criado para a conta de serviço
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:- 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
- Na aba General, clique em Configure na linha Webhook
- Copie a URL e o Secret Token do webhook exibidos na caixa de diálogo
- 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.
Etapa 6: Verifique o acesso aos repositórios
Após adicionar a conexão:- Confirme que a conta de serviço tem acesso aos repositórios que você quer usar
- No Devin, se os repositórios não aparecerem imediatamente, atualize manualmente a lista de repositórios
- Acesse Repositórios Enterprise
- Selecione a organização correta

- Abra Gerenciar permissões
- Adicione os repositórios relevantes com as permissões adequadas de leitura/gravação

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:- Acesse a área de conexão do GitLab no Enterprise
- Abra Advanced
- Vá para a seção de GitLab auto-hospedado
- Inicie o fluxo para registrar um 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:- Defina Name e Redirect URI exatamente como mostrado no modal do Devin
- Ative a caixa de seleção Confidential
- Selecione o escopo api
- Clique em Save application

- Copie o Application ID e o Application Secret do GitLab
- Volte ao Devin e cole esses valores no modal de registro
- Clique em Register
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:- Vá para a seção de associação à organização
- Confirme que o usuário faz parte de uma organização do Devin com permissões para repositórios do GitLab
- 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:- Vá para Conexões pessoais
- Procure a integração auto-hospedada do GitLab
Etapa 11: Vincule a conta do GitLab do usuário
Assim que a integração aparecer:- Selecione a conexão do GitLab auto-hospedado
- Conclua o processo de vinculação
- Vincule a conta do GitLab do usuário à conta do Devin dele
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.

