Visão geral
O Devin se conecta ao Azure DevOps por meio de uma entidade de serviço do Microsoft Entra. Seu administrador aprova o aplicativo Cognition Azure DevOps Service Principal, publicado pela Cognition, no seu tenant, o que cria uma entidade de serviço que você adiciona à sua organização do Azure DevOps com as permissões que escolher.- 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
Antes de configurar a integração com o Azure DevOps, certifique-se de que você tenha:- conta Enterprise do Devin com permissão para gerenciar conexões
- administrador do Microsoft Entra que possa conceder consentimento do administrador 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 > Conexões > 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 conexões 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 conexões do Azure DevOps, insira o nome da organização do Azure DevOps da etapa anterior e clique em Add.
- Clique na nova conexão para abrir o painel de detalhes. A aba Repositórios lista os repositórios disponíveis por meio dessa conexão, e a aba Manage access permite autorizar usuários ou funções a gerenciar as permissões de repositório dessa conexão.
- Conceda às organizações acesso aos repositórios: acesse Configurações > Repositórios, escolha uma organização, clique em Manage permissions e conceda permissões no nível de Organization/Project ou Repository. Consulte Permissões de repositório.
- Para cada organização que recebeu permissões, acesse Configurações > Ambiente > Blueprints nessa organização, clique em Add na seção Repositórios e selecione os repositórios que serão adicionados ao ambiente do Devin. Consulte Configuração declarativa de ambiente.
O que o Devin pode acessar
A integração do Devin com o Azure DevOps é limitada exclusivamente a operações Git:
O Devin não tem acesso a itens de trabalho, pipelines, builds, planos de teste, artefatos, wiki ou conexões de serviço.
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
Falha no consentimento do administrador:- 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)
- Abra a conexão em Configurações > Conexões > Azure DevOps e confirme se os repositórios aparecem na aba Repositórios
- Verifique se as permissões de repositório foram concedidas à organização em Configurações > Repositórios
- Certifique-se de que os repositórios foram adicionados ao ambiente da organização em Configurações > Ambiente > Blueprints
- 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

