Resumen
Devin se conecta a Azure DevOps mediante una entidad de servicio de Microsoft Entra. Tu Admin aprueba en tu tenant la aplicación Cognition Azure DevOps Service Principal publicada por Cognition, lo que crea una entidad de servicio que luego agregas a tu organización de Azure DevOps con los permisos que elijas.- Solo se solicita
User.Readdurante la aprobación de Entra; esto sirve únicamente para establecer la identidad - La aprobación de Entra por sí sola no otorga acceso a repositorios ni al código
- Todo el acceso a los repositorios está controlado por los permisos que asignas en Azure DevOps
Requisitos previos
Antes de configurar la integración de Azure DevOps, asegúrate de contar con:- Cuenta Enterprise de Devin con permiso para gestionar conexiones
- Admin de Microsoft Entra que pueda otorgar el consentimiento de Admin para las aplicaciones
- Admin de la organización de Azure DevOps que pueda agregar usuarios y asignar permisos
Configurar la integración
- Inicia sesión en tu cuenta de Devin en app.devin.ai.
- En otro navegador o en una ventana de incógnito, inicia sesión en Azure DevOps (necesario para el paso 6).
- En tu cuenta Enterprise de Devin, ve a Settings > Connections > Azure DevOps.
- Abre el menú desplegable del botón Connect y selecciona Connect with service principal.

-
Se te redirige a Microsoft para conceder a Devin permiso en tu tenant. Tras aprobarlo, vuelves a la página de conexiones de Azure DevOps en Devin, que ahora muestra una sección Add organization with service principal.
- La aprobación crea una entidad de servicio en tu tenant de Microsoft Entra
- Este paso solo solicita
User.Read; no concede acceso a los repositorios
-
En Azure DevOps, ve a Organization Settings > Users:
- Haz clic en Add Users y agrega la entidad de servicio (
Cognition Azure DevOps Service Principal) - Selecciona Basic como nivel de acceso (Stakeholder no es suficiente: las API requieren Basic)
- Agrégala a todos los proyectos a los que quieras que Devin tenga acceso
- Asigna la entidad de servicio a los Groups relevantes de Azure DevOps (normalmente, Project Contributors)
- Haz clic en Add Users y agrega la entidad de servicio (
- De vuelta en Devin, en la sección Add organization with service principal de la página de conexiones de Azure DevOps, introduce el nombre de la organización de Azure DevOps del paso anterior y haz clic en Add.
- Haz clic en la nueva conexión para abrir su panel de detalles. La pestaña Repositories muestra los repositorios disponibles a través de esta conexión, y en la pestaña Manage access puedes permitir que determinados usuarios o roles gestionen los permisos de repositorio de esta conexión.
- Concede a las organizaciones acceso a los repositorios: ve a Settings > Repositories, elige una organización, haz clic en Manage permissions y concede permisos a nivel de Organization/Project o de Repository. Consulta Permisos de repositorio.
- Para cada organización a la que se le hayan concedido permisos, ve a Settings > Environment > Blueprints en esa organización, haz clic en Add en la sección Repositories y selecciona los repositorios que quieras agregar al Environment de Devin. Consulta Configuración declarativa de Environment.
A qué puede acceder Devin
La integración de Devin con Azure DevOps se limita a operaciones de Git únicamente:
Devin no tiene acceso a elementos de trabajo, pipelines, compilaciones, planes de prueba, artefactos, wiki ni conexiones de servicio.
Si tu organización necesita que Devin admita áreas adicionales de Azure DevOps en el futuro, comunícate con enterprise@cognition.ai para analizar tus requisitos.
Consideraciones de seguridad
- Permisos mínimos de Entra — Solo se solicita
User.Read. No se solicita acceso de lectura a todo el directorio, visibilidad de la pertenencia a grupos ni control administrativo. - Autorización explícita — La aprobación de Entra por sí sola no otorga acceso a Azure DevOps. Todo acceso al repositorio debe ser asignado explícitamente por tu Admin de Azure DevOps.
- Credenciales cifradas — Todos los tokens están cifrados y se almacenan de forma segura.
- Acceso limitado por ámbito — Los permisos pueden limitarse a proyectos, repositorios y operaciones específicos mediante la interfaz de Devin Enterprise.
- Trazabilidad — La actividad se registra en los registros de inicio de sesión de Entra y en los registros de auditoría de Azure DevOps.
- Se respetan las políticas de rama — Las PR de Devin están sujetas a las mismas políticas de rama y requisitos de revisión que cualquier otro colaborador.
Buenas prácticas
- Usa permisos a nivel de repositorio — Otorga a Devin acceso solo a los repositorios y proyectos específicos que necesita, en lugar de darle acceso a toda la organización.
- Habilita las directivas de rama — Configura directivas de rama en Azure DevOps para garantizar que todos los cambios pasen por los procesos de revisión adecuados antes de que se fusionen.
- Supervisa los registros de auditoría — Revisa periódicamente los registros de auditoría de Azure DevOps y los registros de inicio de sesión de Entra de la entidad de servicio.
Solución de problemas
Error al otorgar el consentimiento de Admin:- Verifica que el usuario aprobador tenga permiso para otorgar consentimiento de Admin para aplicaciones en tu tenant de Entra
- Si tu tenant restringe el consentimiento para aplicaciones, puede que un Administrador global o un Administrador de aplicaciones en la nube deba otorgarlo
- Verifica que el consentimiento de Admin se haya completado correctamente en tu portal de Entra, en Enterprise Applications (busca
Cognition Azure DevOps Service Principal) - Asegúrate de que la entidad de servicio se haya agregado explícitamente a tu organización de Azure DevOps en Organization Settings > Users
- Si la entidad de servicio está sujeta a políticas de Conditional Access que exigen MFA, la renovación del token fallará silenciosamente. Crea una exclusión de Conditional Access para la entidad de servicio en la aplicación de Devin.
- Verifica que la entidad de servicio se haya agregado a la organización de Azure DevOps en Organization Settings > Users
- Confirma que el nivel de acceso esté configurado como Basic (Stakeholder no es suficiente para acceder a la API)
- Abre la conexión en Settings > Connections > Azure DevOps y confirma que los repositorios aparecen en la pestaña Repositories
- Comprueba que se hayan otorgado permisos de repositorio a la organización en Settings > Repositories
- Asegúrate de que los repositorios se hayan agregado al Environment de la organización en Settings > Environment > Blueprints
- Confirma que la entidad de servicio tenga permisos de colaborador en el repositorio de destino
- Comprueba que las políticas de rama no estén bloqueando la creación de la PR
- Verifica que la rama de destino exista y sea accesible

