O Devin também oferece suporte à conexão com o Azure DevOps por meio de uma entidade de serviço do Microsoft Entra, o que não exige uma conta de serviço dedicada com privilégios elevados de administrador de diretório. Dependendo dos seus requisitos, esse fluxo pode ser mais adequado — consulte Azure DevOps (Entidade de Serviço).
Por que integrar o Devin ao Azure DevOps?
Integrar o Devin à sua organização do Azure DevOps permite que ele clone repositórios, crie pull requests e colabore de forma eficaz com sua equipe. Essa integração possibilita que o Devin trabalhe perfeitamente dentro do seu fluxo de trabalho de desenvolvimento existente. Ao contrário de algumas outras integrações de SCM, o Azure DevOps não exibe aplicativos de terceiros da mesma maneira. Em vez disso, todo o gerenciamento de conexões é feito dentro do Devin em Configurações > Conexões > Azure DevOps.Pré-requisitos
Antes de configurar a integração com o Azure DevOps, você precisará:-
Criar um usuário dedicado do Azure DevOps para o Devin - Crie uma nova conta do Azure DevOps especificamente para o Devin (por exemplo,
devin@yourcompany.com). Essa conta de serviço dedicada permite uma gestão de acesso mais simples e registros de auditoria mais claros. - Conceder ao usuário do Devin uma função de administrador adequada - A nova conta de serviço do Devin deve ser capaz de conceder consentimento de administrador para o tenant (Application Administrator, Cloud Application Administrator ou Global Administrator). A Microsoft restringe o acesso de aplicativos de terceiros, a menos que um administrador com privilégios suficientes conceda consentimento em nível de tenant.
-
Preparar para o fluxo de conexão - Para concluir a integração, você precisará estar:
- Conectado ao Devin com sua conta pessoal
- Conectado ao Azure DevOps com a conta de serviço do Devin (a nova conta que pode conceder consentimento de administrador para o seu tenant)
Ambas as sessões do navegador devem permanecer ativas durante o processo de configuração da integração — sua conta do Devin para iniciar a conexão e a conta de serviço do Devin no Azure DevOps para autorizar o consentimento OAuth.
Autenticação e permissões
Devin usa OAuth 2.0 por meio do MSAL (Microsoft Authentication Library) da Microsoft para se conectar ao Azure DevOps. A conta de serviço do Devin precisa ser capaz de conceder o consentimento de administrador para o tenant (Application Administrator, Cloud Application Administrator ou Global Administrator) para concluir o fluxo de OAuth. O Azure DevOps funciona com contas de serviço, então o Devin se conecta usando a identidade do usuário Devin autorizada em vez de um aplicativo registrado.Modelo de RBAC e Permissões
- Um registro de conexão é criado com o token de atualização criptografado, vinculado à identidade do usuário
- O Devin gera registros de permissões para definir quais organizações, projetos e repositórios são acessíveis
- Em tempo de execução, são feitas verificações em todos os repositórios, que são comparadas com a lista de permissões para garantir o cumprimento dos limites de acesso
Hierarquia do Azure DevOps
Configurando a integração
-
Faça login nas duas contas:
- Faça login na sua conta do Devin em app.devin.ai
- Em outro navegador ou em uma janela anônima, faça login no Azure DevOps com a conta de serviço do Devin (a conta que pode conceder o consentimento de administrador para o seu tenant)
- Na sua conta Enterprise do Devin, acesse Configurações > Conexões > Azure DevOps.
-
Clique no botão Connect para iniciar o fluxo OAuth. Se o Azure DevOps já estiver conectado, o botão exibirá Add connection.
- Para se conectar com uma entidade de serviço do Microsoft Entra, abra o menu suspenso do botão Connect e selecione Connect with service principal. Consulte Azure DevOps (Service Principal).

- Uma nova aba do navegador será aberta, solicitando que você conceda ao Devin permissão para acessar sua organização do Azure DevOps. Verifique se você está conectado com a conta de serviço do Devin (a conta que pode conceder o consentimento de administrador para o seu tenant).

-
Depois de conceder as permissões, você voltará à página de conexões do Azure DevOps no Devin, onde a nova conexão estará listada. Clique na conexão para abrir o painel de detalhes:
- General: configuração de webhook, reconexão e desconexão
- Manage access: permite que usuários ou funções gerenciem as permissões de repositório desta conexão
- Repositórios: os repositórios disponíveis por meio desta conexão
- Agora que o Devin tem acesso ao seu Azure DevOps, você pode conceder permissões a uma, algumas ou todas as organizações da sua conta Enterprise. Para isso, acesse Configurações > Repositórios, escolha uma organização, clique em Gerenciar permissões e conceda permissões no nível de Organização/Projeto ou de Repositório. 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 deseja adicionar ao ambiente do Devin. Consulte Configuração declarativa de ambiente.
O que o Devin pode acessar
O que o Devin não pode acessar
- Itens de trabalho (boards)
- Pipelines ou builds
- Planos de teste
- Artefatos
- Wiki
- Conexões de serviço
Se sua organização precisar que o Devin passe a oferecer suporte a essas áreas adicionais no futuro, isso exigirá escopos OAuth mais amplos e nova lógica de provedor. Entre em contato com enterprise@cognition.ai para discutir seus requisitos.
Considerações de segurança
- OAuth fornece capacidade, RBAC impõe limites - OAuth concede a capacidade técnica de acessar o Azure DevOps, mas uma camada adicional de permissões de Git impõe os limites reais de acesso
- Acesso explícito apenas - Devin nunca acessa repositórios ou projetos que não tenham sido explicitamente autorizados na interface Enterprise
- Credenciais criptografadas - Todos os tokens de atualização são criptografados e armazenados com segurança
- Registro de auditoria - Usar uma conta de serviço dedicada torna mais fácil rastrear a atividade do Devin 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 requisitos de revisão que as de qualquer outro colaborador
Melhores práticas
- Use a conta de serviço dedicada do Devin - Sempre use a conta do Azure DevOps dedicada criada para o Devin, em vez de se conectar com uma conta pessoal
- Habilite políticas de branch - Configure políticas de branch no Azure DevOps para garantir que todas as alterações passem por processos adequados de revisão antes de serem mescladas
- Use permissões em nível de repositório - Conceda ao Devin acesso apenas aos repositórios específicos de que ele precisa, em vez de acesso a toda a organização
- Monitore os logs de acesso - Revise regularmente os logs de auditoria do Azure DevOps para acompanhar a atividade do Devin
- Documente sua configuração - Mantenha documentação interna sobre quais repositórios o Devin pode acessar e por quê
Se o seu Microsoft Entra ID estiver integrado ao Sistema de Informações de Recursos Humanos (HRIS) da sua organização, etapas adicionais de configuração podem ser necessárias para concluir a integração com o Azure DevOps. Entre em contato com a equipe de suporte do Devin para obter assistência com configurações avançadas.
Solução de problemas
Falha no consentimento OAuth:- Verifique se a conta de serviço do Devin pode conceder consentimento de administrador para o tenant (requer a função de Application Administrator, Cloud Application Administrator ou Global Administrator)
- Confira se o tenant do Microsoft Entra ID permite consentimento para aplicativos de terceiros
- Certifique-se de que você está conectado ao Azure DevOps com a conta de serviço do Devin (e não com sua conta pessoal) ao concluir o fluxo OAuth
- Verifique se a conta de serviço do Devin tem acesso aos repositórios no Azure DevOps
- Abra a conexão em Configurações > Conexões > Azure DevOps e confirme se os repositórios aparecem na aba Repositórios
- Confira 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 conta de serviço do Devin tem permissões de contribuidor no repositório de destino
- Confira se as políticas de branch não estão bloqueando a criação do PR
- Verifique se a branch de destino existe e está acessível

