Resumen
- 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
- Cuenta Enterprise de Devin con permiso para gestionar integraciones
- 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 > Settings de Enterprise > Integrations y selecciona 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 integración 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 integración de Azure DevOps, introduce el nombre de la organización de Azure DevOps del paso anterior y haz clic en Add.
- En Devin, selecciona permiso de Git en tu integración de Azure DevOps, elige una suborganización y concede permisos a nivel de Group o de Repository.

- Para cada Organization a la que se le hayan concedido permisos, ve a Devin’s Settings > Devin’s Machine, haz clic en + Repository e integra los repositorios.
A qué puede acceder Devin
| Capacidad | Descripción |
|---|---|
| Listar repositorios | Ver los repositorios disponibles y sus metadatos |
| Leer ramas | Acceder a la información de las ramas y al historial de commits |
| Crear pull requests | Abrir nuevas PR para cambios de código |
| Ver pull requests | Acceder a los eventos, comentarios y estado de las PR |
| Subir código | Enviar nuevas ramas y commits a los repositorios |
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
- 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)
- Comprueba que se hayan otorgado permisos de repositorio en los Settings de Enterprise de Devin
- Asegúrate de que los repositorios se hayan agregado a Devin’s Machine
- 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
