Visão geral
- Apenas
User.Readé solicitado durante a aprovação no Entra — isso estabelece apenas a identidade - A aprovação no Entra, por si só, não concede acesso a repositórios nem ao código
- Todo o acesso aos repositórios é controlado pelas permissões que você atribui no Azure DevOps
Pré-requisitos
- conta Enterprise do Devin com permissão para gerenciar integrações
- administrador do Microsoft Entra que possa conceder consentimento administrativo para aplicativos
- administrador da organização do Azure DevOps que possa adicionar usuários e atribuir permissões
Configuração da integração
- Entre na sua conta do Devin em app.devin.ai.
- Em outro navegador ou em uma janela anônima, entre no Azure DevOps (necessário para a etapa 6).
- Na sua conta Enterprise do Devin, acesse Configurações > Configurações Enterprise > Integrações e selecione Azure DevOps.
- Abra o menu suspenso no botão Connect e selecione Connect with entidade de serviço.

-
Você será redirecionado à Microsoft para conceder ao Devin permissão para acessar seu tenant. Após aprovar, você voltará para a página de integração do Azure DevOps no Devin, que agora exibirá a seção Add organization with entidade de serviço.
- A aprovação cria um entidade de serviço no seu tenant do Microsoft Entra
- Esta etapa solicita apenas
User.Read— ela não concede acesso aos repositórios
-
No Azure DevOps, acesse Configurações da organização > Users:
- Clique em Add Users e adicione o entidade de serviço (
Cognition Azure DevOps Service Principal) - Selecione Basic como nível de acesso (Stakeholder não é suficiente — as APIs exigem Basic)
- Adicione a todos os projetos aos quais você quer que o Devin tenha acesso
- Atribua o entidade de serviço aos Groups relevantes do Azure DevOps (normalmente Project Contributors)
- Clique em Add Users e adicione o entidade de serviço (
- De volta ao Devin, na seção Add organization with entidade de serviço da página de integração do Azure DevOps, insira o nome da organização do Azure DevOps da etapa anterior e clique em Add.
- No Devin, selecione Git Permissions na sua integração do Azure DevOps, escolha uma sub-organização e conceda permissões no nível de Group ou Repository.

- Para cada Organization que recebeu permissões, acesse Configurações do Devin > Devin’s Machine, clique em + Repository e integre os repositórios.
O que o Devin pode acessar
| Capacidade | Descrição |
|---|---|
| Listar repositórios | Visualizar os repositórios disponíveis e seus metadados |
| Ler branches | Acessar informações das branches e o histórico de commits |
| Criar pull requests | Abrir novas PRs para alterações de código |
| Visualizar pull requests | Acessar eventos, comentários e status das PRs |
| Fazer push de código | Fazer push de novas branches e commits para os repositórios |
Se a sua organização precisar que o Devin ofereça suporte a outras áreas do Azure DevOps no futuro, entre em contato com enterprise@cognition.ai para discutir seus requisitos.
Considerações de segurança
- Permissões mínimas do Entra — Apenas
User.Readé solicitado. Não há acesso de leitura ao diretório inteiro, visibilidade de associação a grupos nem controle administrativo. - Autorização explícita — A aprovação no Entra, por si só, não concede acesso ao Azure DevOps. Todo acesso ao repositório deve ser atribuído explicitamente pelo admin do Azure DevOps.
- Credenciais criptografadas — Todos os tokens são criptografados e armazenados com segurança.
- Acesso com escopo definido — As permissões podem ser limitadas a projetos, repositórios e operações específicos na UI Enterprise do Devin.
- Auditabilidade — A atividade é registrada nos logs de entrada do Entra e nos logs de auditoria do Azure DevOps.
- Políticas de branch respeitadas — As PRs do Devin estão sujeitas às mesmas políticas de branch e aos mesmos requisitos de revisão que qualquer outro colaborador.
Melhores práticas
- Use permissões no nível do repositório — Conceda ao Devin acesso apenas aos repositórios e projetos específicos de que ele precisa, em vez de conceder acesso a toda a organização.
- Ative políticas de branch — Configure políticas de branch no Azure DevOps para garantir que todas as alterações passem pelos processos de revisão adequados antes do merge.
- Monitore os logs de auditoria — Revise regularmente os logs de auditoria do Azure DevOps e os logs de entrada do Entra relacionados à atividade da entidade de serviço.
Solução de problemas
- Verifique se o usuário que está aprovando tem permissão para conceder consentimento de administrador para aplicativos no seu tenant do Entra
- Se o seu tenant restringe o consentimento para aplicativos, talvez seja necessário que um Administrador Global ou Administrador de Aplicativos na Nuvem conceda o consentimento
- Verifique se o consentimento do administrador foi concluído com sucesso no portal do Entra, em Enterprise Applications (procure por
Cognition Azure DevOps Service Principal) - Certifique-se de que a entidade de serviço foi adicionada explicitamente à sua organização do Azure DevOps em Configurações da organização > Users
- Se a entidade de serviço estiver sujeita a políticas de Acesso Condicional que exigem MFA, a atualização do token falhará silenciosamente. Crie uma exclusão de Acesso Condicional para a entidade de serviço no aplicativo Devin.
- Verifique se a entidade de serviço foi adicionada à organização do Azure DevOps em Configurações da organização > Users
- Confirme se o nível de acesso está definido como Basic (Stakeholder não é suficiente para acesso à API)
- Verifique se as permissões do repositório foram concedidas nas Configurações Enterprise do Devin
- Certifique-se de que os repositórios foram adicionados à Devin’s Machine
- Confirme se a entidade de serviço tem permissões de Colaborador no repositório de destino
- Verifique se as políticas de branch não estão bloqueando a criação da PR
- Verifique se a branch de destino existe e está acessível
