Por que integrar o Devin ao Azure DevOps?
Pré-requisitos
-
Criar um usuário dedicado do Azure DevOps para o Devin - Crie uma nova conta do Azure DevOps especificamente para o Devin (por exemplo,
[email protected]). Essa conta de serviço dedicada permite uma gestão de acesso mais simples e registros de auditoria mais claros. - Conceder privilégios de AAD Global Admin ao usuário do Devin - A nova conta de serviço do Devin deve ter privilégios de Azure Active Directory (AAD) Global Admin. A Microsoft restringe o acesso de aplicativos de terceiros, a menos que um Global Admin conceda consentimento em nível de locatário.
-
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 com permissões de AAD Global Admin)
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
Modelo de RBAC e Permissões
- Um registro de conexão é criado com o refresh token 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
-
Acesse ambas as contas:
- Entre na sua conta Devin em app.devin.ai
- Em um navegador separado ou em uma janela anônima, entre no Azure DevOps com a conta de serviço do Devin (a conta com privilégios de administrador global do AAD)
- Na sua conta Devin Enterprise, navegue até Settings > Enterprise Settings > Integrations

- Quando estiver na página Integrations, clique no botão Connect to Azure DevOps.

- Isso abrirá uma nova guia do navegador, solicitando que você conceda ao Devin permissão para acessar sua organização do Azure DevOps. Certifique-se de que você está conectado com a conta de serviço do Devin (a conta com privilégios de administrador global do AAD).

- Depois de conceder as permissões, você verá, na página Integrations em Enterprise Settings, sua integração com o Azure DevOps e seus repositórios conectados.

- Agora que o Devin tem acesso ao seu Azure DevOps, você pode conceder permissões a qualquer (ou a todas as) suborganizações dentro da sua conta Enterprise. Para fazer isso, selecione Git Permissions na sua integração com o Azure DevOps, escolha uma suborganização e conceda permissões no nível de grupo ou de repositório.

- Para cada organização que recebeu permissões, navegue até Devin’s Settings > Devin’s Machine, clique em + Repository e integre os repositórios ao Devin’s Machine.
O que o Devin pode acessar
| Capacidade | Descrição |
|---|---|
| Listar repositórios | Exibir repositórios disponíveis e seus metadados |
| Ler branches | Acessar informações de branches e histórico de commits |
| Criar pull requests | Abrir novas PRs (pull requests) para alterações de código |
| Visualizar pull requests | Acessar eventos, comentários e status de PRs |
| Fazer push de código | Enviar novas branches e commits para repositórios |
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 [email protected] 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
- Verifique se a conta de serviço do Devin tem privilégios de AAD Global Admin
- Confira se o locatário (tenant) do Azure AD 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
- Confira se as permissões de repositório foram concedidas nas configurações Enterprise do Devin
- Certifique-se de que os repositórios foram adicionados à Machine do Devin
- 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
