Saltar al contenido principal

¿Por qué integrar Devin con Azure DevOps?

Integrar Devin con tu organización de Azure DevOps permite que Devin clone repositorios, cree pull requests (PR) y colabore de forma eficaz con tu equipo. Esta integración permite que Devin trabaje sin problemas dentro de tu flujo de desarrollo existente. A diferencia de algunas otras integraciones de SCM, Azure DevOps no muestra las aplicaciones de terceros de la misma manera. En su lugar, toda la gestión de conexiones se realiza dentro de Devin, en Enterprise Settings > Integrations.

Requisitos previos

Antes de configurar la integración con Azure DevOps, deberás:
  1. Crear un usuario de Azure DevOps dedicado para Devin - Crea una nueva cuenta de Azure DevOps específicamente para Devin (por ejemplo, [email protected]). Esta cuenta de servicio dedicada proporciona una gestión de acceso más sencilla y mejores registros de auditoría.
  2. Conceder privilegios de Administrador global de AAD al usuario de Devin - La nueva cuenta de servicio de Devin debe tener privilegios de Administrador global de Azure Active Directory (AAD). Microsoft restringe el acceso de aplicaciones de terceros a menos que un Administrador global otorgue consentimiento a nivel de inquilino (tenant).
  3. Prepararte para el flujo de conexión - Para completar la integración, deberás:
    • Iniciar sesión en Devin con tu cuenta personal
    • Iniciar sesión en Azure DevOps con la cuenta de servicio de Devin (la nueva cuenta con permisos de Administrador global de AAD)
Ambas sesiones del navegador deben permanecer activas durante el proceso de configuración de la integración: tu cuenta de Devin para iniciar la conexión y la cuenta de servicio de Devin en Azure DevOps para autorizar el consentimiento de OAuth.

Autenticación y permisos

Devin utiliza OAuth 2.0 mediante MSAL de Microsoft (Microsoft Authentication Library) para conectarse a Azure DevOps. La cuenta de servicio de Devin debe tener privilegios de administrador global de AAD para completar el flujo de OAuth. Azure DevOps funciona mediante cuentas de servicio, por lo que Devin se conecta usando la identidad de usuario autorizada de Devin en lugar de una aplicación registrada.

Modelo de RBAC y permisos

La integración de Devin con Azure DevOps está diseñada con un modelo estricto de control de acceso basado en roles (RBAC) que separa la autenticación de la autorización. Esto garantiza que Devin solo acceda a los repositorios permitidos explícitamente por los administradores de la empresa. Cuando conectas Azure DevOps a Devin:
  1. Se crea un registro de conexión con el token de actualización cifrado, vinculado a la identidad del usuario.
  2. Devin genera registros de permisos para definir qué organizaciones, proyectos y repositorios son accesibles.
  3. En tiempo de ejecución, se realizan comprobaciones en todos los repositorios y se comparan con la lista de permisos para hacer respetar los límites de acceso.
Para clientes empresariales, los permisos se pueden replicar en todas las organizaciones, y todo el acceso a nivel de repositorio se gestiona mediante la Devin Enterprise UI en Integrations.

Jerarquía de Azure DevOps

Azure DevOps utiliza una jerarquía de tres niveles: Organización > Proyecto > Repositorio. Devin gestiona esta estructura internamente y puede detectar e interactuar con repositorios en cualquiera de los niveles, siempre que el usuario autenticado tenga acceso.

Configuración de la integración

  1. Inicia sesión en ambas cuentas:
    • Inicia sesión en tu cuenta de Devin en app.devin.ai
    • En un navegador separado o en una ventana de incógnito, inicia sesión en Azure DevOps con la cuenta de servicio de Devin (la cuenta con privilegios de AAD Global Admin)
  2. En tu cuenta Enterprise de Devin, navega a Settings > Enterprise Settings > Integrations
Azure DevOps Connected Accounts
  1. Una vez en la página de Integrations, haz clic en el botón Connect to Azure DevOps.
Connect To Azure DevOps
  1. Esto abrirá una nueva pestaña del navegador, en la que se te pedirá que concedas a Devin permisos sobre tu organización de Azure DevOps. Asegúrate de haber iniciado sesión con la cuenta de servicio de Devin (la cuenta con privilegios de AAD Global Admin).
Azure DevOps Permissions
  1. Una vez que hayas concedido los permisos, verás tu integración de Azure DevOps y tus repositorios conectados nuevamente en la página de Integrations en Enterprise Settings.
Azure DevOps Integrated
  1. Ahora que Devin tiene acceso a tu Azure DevOps, puedes conceder permisos a cualquiera o a todas las suborganizaciones dentro de tu cuenta Enterprise. Para hacerlo, selecciona Git Permissions en tu integración de Azure DevOps, elige una suborganización y otorga permisos ya sea a nivel de grupo o de repositorio.
Azure DevOps Git Permissions
  1. Para cada organización a la que se le hayan concedido permisos, navega a Devin’s Settings > Devin’s Machine, haz clic en + Repository e integra los repositorios en Devin’s Machine.

A qué puede acceder Devin

La integración de Devin con Azure DevOps está enfocada solo en operaciones de Git, incluyendo:
FuncionalidadDescripción
Listar repositoriosVer los repositorios disponibles y sus metadatos
Leer ramasAcceder a la información de las ramas y al historial de commits
Crear pull requestsAbrir nuevas PR para proponer cambios de código
Ver pull requestsAcceder a eventos, comentarios y estado de las PR
Realizar push de códigoRealizar push de nuevas ramas y commits a los repositorios

A qué no puede acceder Devin

La integración está deliberadamente limitada a la funcionalidad de Git. Devin no tiene acceso a:
  • Elementos de trabajo (tableros)
  • Pipelines o compilaciones
  • Planes de prueba
  • Artefactos
  • Wiki
  • Conexiones de servicio
Si su organización necesita que Devin admita estas áreas adicionales en el futuro, será necesario ampliar los ámbitos de OAuth y crear nueva lógica de proveedor. Póngase en contacto con [email protected] para analizar sus requisitos.

Consideraciones de seguridad

El sistema está diseñado en torno al principio de mínimo privilegio:
  • OAuth proporciona capacidad, RBAC hace cumplir los límites - OAuth otorga la capacidad técnica de acceder a Azure DevOps, pero una capa adicional de permisos de Git hace cumplir los límites reales de acceso
  • Solo acceso explícito - Devin nunca accede a repositorios o proyectos a los que no se le haya otorgado acceso explícito en la interfaz de Enterprise
  • Credenciales cifradas - Todos los tokens de actualización están cifrados y se almacenan de forma segura
  • Registro de auditoría - Usar una cuenta de servicio dedicada facilita el seguimiento de la actividad de Devin en tus registros de auditoría de Azure DevOps
  • Se respetan las políticas de rama - Los pull requests (PR) de Devin están sujetos a las mismas políticas de rama y requisitos de revisión que los de cualquier otro colaborador

Mejores prácticas

  • Usa la cuenta de servicio dedicada de Devin - Utiliza siempre la cuenta de Azure DevOps dedicada creada para Devin en lugar de conectarte con una cuenta personal
  • Habilita las directivas de rama - Configura directivas de rama en Azure DevOps para asegurarte de que todos los cambios pasen por los procesos de revisión adecuados antes de combinarse
  • Usa permisos a nivel de repositorio - Concede a Devin acceso solo a los repositorios específicos que necesita, en lugar de acceso a toda la organización
  • Supervisa los registros de acceso - Revisa periódicamente los registros de auditoría de Azure DevOps para ver la actividad de Devin
  • Documenta tu configuración - Mantén documentación interna sobre a qué repositorios tiene acceso Devin y por qué
Recomendamos configurar directivas de rama en Azure DevOps para asegurarte de que todos los cambios pasen por los procesos de revisión adecuados antes de combinarse.
Si tu Microsoft Entra ID está integrado con el sistema de información de recursos humanos de tu organización (HRIS, Human Resources Information System), es posible que se requieran pasos de configuración adicionales para completar la integración de Azure DevOps. Ponte en contacto con el equipo de soporte de Devin para obtener ayuda con la configuración avanzada.

Solución de problemas

Error en el consentimiento de OAuth:
  • Verifica que la cuenta de servicio de Devin tenga privilegios de administrador global de AAD
  • Comprueba que tu tenant de Azure AD permita el consentimiento a aplicaciones de terceros
  • Asegúrate de haber iniciado sesión en Azure DevOps con la cuenta de servicio de Devin (no con tu cuenta personal) al completar el flujo de OAuth
Devin no puede ver mis repositorios:
  • Verifica que la cuenta de servicio de Devin tenga acceso a los repositorios en Azure DevOps
  • Comprueba que se hayan otorgado permisos de repositorio en la Configuración de Enterprise de Devin
  • Asegúrate de que los repositorios se hayan agregado a la Machine de Devin
Falla la creación del pull request (PR):
  • Confirma que la cuenta de servicio de Devin tenga permisos de colaborador en el repositorio de destino
  • Comprueba que las políticas de rama no estén bloqueando la creación del PR
  • Verifica que la rama de destino exista y sea accesible

Configuración de red

Si tienes el filtrado de IP habilitado en tu instancia de Azure DevOps, deberás agregar las direcciones IP de Devin a la lista de permitidas. Para obtener la lista más actualizada, consulta nuestra documentación sobre listas de IP permitidas.