Pular para o conteúdo principal

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 Enterprise Settings > Integrations.

Pré-requisitos

Antes de configurar a integração com o Azure DevOps, você precisará:
  1. 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.
  2. 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.
  3. 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

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 ter privilégios de Administrador global do AAD 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

A integração do Devin com o Azure DevOps foi implementada com um modelo rígido de Controle de Acesso Baseado em Funções (RBAC), que separa autenticação da autorização. Isso garante que o Devin só acesse repositórios explicitamente autorizados por administradores Enterprise. Quando você conecta o Azure DevOps ao Devin:
  1. Um registro de conexão é criado com o refresh token criptografado, vinculado à identidade do usuário
  2. O Devin gera registros de permissões para definir quais organizações, projetos e repositórios são acessíveis
  3. 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
Para clientes Enterprise, as permissões podem ser replicadas entre organizações, e todo o acesso em nível de repositório é gerenciado pela Devin Enterprise UI, em Integrations.

Hierarquia do Azure DevOps

O Azure DevOps usa uma hierarquia de três níveis: Organização > Projeto > Repositório. O Devin lida com essa estrutura internamente e pode identificar e interagir com repositórios em qualquer nível, desde que o usuário conectado tenha acesso.

Configurando a Integração

  1. 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)
  2. Na sua conta Devin Enterprise, navegue até Settings > Enterprise Settings > Integrations
Azure DevOps Connected Accounts
  1. Quando estiver na página Integrations, clique no botão Connect to Azure DevOps.
Connect To Azure DevOps
  1. 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).
Azure DevOps Permissions
  1. 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.
Azure DevOps Integrated
  1. 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.
Azure DevOps Git Permissions
  1. 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

A integração do Devin com o Azure DevOps é focada apenas em operações com Git, incluindo:
CapacidadeDescrição
Listar repositóriosExibir repositórios disponíveis e seus metadados
Ler branchesAcessar informações de branches e histórico de commits
Criar pull requestsAbrir novas PRs (pull requests) para alterações de código
Visualizar pull requestsAcessar eventos, comentários e status de PRs
Fazer push de códigoEnviar novas branches e commits para repositórios

O que o Devin não pode acessar

A integração é deliberadamente limitada à funcionalidade do Git. O Devin não tem acesso a:
  • 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

O sistema é projetado com base no princípio do menor privilégio:
  • 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ê
Recomendamos configurar 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.
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 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
Devin não consegue ver meus repositórios:
  • 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
Falha ao criar pull request:
  • 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

Configuração da rede

Se a filtragem de IP estiver ativada na sua instância do Azure DevOps, será necessário colocar os endereços IP do Devin na lista de permissões. Para ver a lista mais atualizada, consulte nossa documentação sobre lista de permissões de IP.