Saltar al contenido principal

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.Read durante 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
A diferencia de otras integraciones de SCM, Azure DevOps no muestra las aplicaciones de terceros de la misma forma. Toda la gestión de conexiones se realiza dentro de Devin en Settings > Settings de Enterprise > Integrations.

Requisitos previos

Antes de configurar la integración de Azure DevOps, asegúrate de contar con:
  1. Cuenta Enterprise de Devin con permiso para gestionar integraciones
  2. Admin de Microsoft Entra que pueda otorgar el consentimiento de Admin para las aplicaciones
  3. Admin de la organización de Azure DevOps que pueda agregar usuarios y asignar permisos

Configurar la integración

  1. Inicia sesión en tu cuenta de Devin en app.devin.ai.
  2. En otro navegador o en una ventana de incógnito, inicia sesión en Azure DevOps (necesario para el paso 6).
  3. En tu cuenta Enterprise de Devin, ve a Settings > Settings de Enterprise > Integrations y selecciona Azure DevOps.
  4. Abre el menú desplegable del botón Connect y selecciona Connect with service principal.
Conectar con una entidad de servicio
  1. 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
  2. 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)
  3. 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.
  4. 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.
Permisos de Git de Azure DevOps
  1. 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

La integración de Devin con Azure DevOps se limita a operaciones de Git únicamente:
CapacidadDescripció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 cambios de código
Ver pull requestsAcceder a los eventos, comentarios y estado de las PR
Subir códigoEnviar nuevas ramas y commits a los repositorios
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
La entidad de servicio no aparece en Azure DevOps:
  • 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
Conditional Access / MFA bloquea el acceso:
  • 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.
Devin no puede ver mis repositorios:
  • 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
Error al crear pull requests:
  • 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

Configuración de red

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