Skip to main content

¿Por qué integrar Devin con GitLab?

Integrar Devin con tus repositorios de GitLab permite que Devin cree merge requests (MR), lea y responda a tus comentarios en ellas y colabore de forma eficaz con tu equipo. De este modo, Devin puede ser un verdadero colaborador en tu equipo de ingeniería.
¿Usas una instancia autohospedada de GitLab? Ofrecemos compatibilidad con GitLab autogestionado (versión 15.0 y posteriores) para usuarios de nuestro plan Enterprise. Solo tienes que hacer clic en el menú desplegable del botón “Connect” y seleccionar Connect to self-hosted instance. Consulta la guía de integración de GitLab autogestionado para obtener las instrucciones completas de configuración.El mismo menú desplegable también ofrece Connect service account, que conecta una cuenta de servicio de GitLab.com (o una cuenta de usuario dedicada en el tier Free) con un token de acceso personal que tenga el ámbito api en lugar del OAuth flow que se describe a continuación.

Configuración de la integración

¡La configuración es sencilla! A continuación te explicamos cómo empezar:
  1. Crea una nueva cuenta de GitLab específicamente para Devin (igual que crearías una cuenta personal). Usarás esta cuenta, no tu cuenta personal, durante el proceso de integración.
  2. En tu cuenta de Devin, ve a Settings > Connections > GitLab y haz clic en “Connect”.
  3. Se te redirigirá a GitLab, donde deberás:
    • Iniciar sesión con la cuenta de GitLab que creaste para Devin (no tu cuenta personal)
    • Conceder los permisos necesarios para que Devin pueda trabajar con tus repositorios
  4. Cuando hayas terminado, regresarás a la página de configuración de Devin, donde podrás confirmar que la integración está activa.
Para instalaciones de GitLab on-premise (autohospedado), la sincronización del estado de los MR (open, merged, closed) con las sesiones de Devin solo se realiza una vez al día. Esto puede hacer que el estado de los MR en tu sesión o en la lista de sesiones se muestre temporalmente de forma incorrecta hasta que se produzca la siguiente sincronización.

Configuración del webhook

Configurar un webhook permite que Devin reciba automáticamente notificaciones en tiempo real cuando se producen eventos específicos en GitLab (como abrir o actualizar solicitudes de fusión, o añadir comentarios en ellas). Para configurar el webhook:
  1. En tu cuenta de Devin, ve a Settings > Connections > GitLab
  2. Haz clic en la conexión de GitLab que quieres configurar para abrir su panel de detalles
  3. En la pestaña General, haz clic en Configure en la fila Webhook
  4. Copia la URL y el Secret Token del webhook que aparecen en el diálogo
  5. Sigue los pasos de Group (recomendado) o Project que se indican en el diálogo para agregar el webhook en GitLab y selecciona los triggers Comments, Eventos de solicitudes de fusión, Push events, Issues events y Pipeline events
Para agregar un webhook en GitLab, necesitas el rol Maintainer en el proyecto o, en el caso de los webhooks de grupo, el rol Owner en el grupo (los webhooks de grupo están disponibles en GitLab Premium y Ultimate). Si la configuración automática de webhooks está disponible para tu organización, el diálogo indica que Devin configura webhooks en todos los proyectos y grupos que su cuenta de GitLab puede administrar. Usa los pasos manuales solo para los proyectos a los que Devin no tenga acceso.
Una vez configurado, Devin podrá responder a eventos de GitLab en tiempo real, en lugar de depender de sondeos periódicos.

Permisos del repositorio

Para usuarios de Core y Teams

Una vez configurada la integración, puedes @mencionar repositorios directamente en tus prompts dentro de la aplicación web de Devin.

Para usuarios de Enterprise

Una vez configurada la integración, puedes delegar repositorios a organizaciones específicas desde Settings > Repositorios.
  1. Selecciona la organización en el menú desplegable de la parte superior de la página
  2. Haz clic en Gestionar permisos
  3. Agrega los grupos o repositorios pertinentes con acceso de Lectura y escritura o Solo lectura
Consulta Permisos de repositorio para obtener más detalles.
Si los repositorios no aparecen inmediatamente después de conectarse, Devin actualiza periódicamente la lista de repositorios. También puedes actualizarla manualmente en Devin.

Vinculación de usuarios

Además de la conexión a nivel de organización, cada usuario puede vincular su propia cuenta de GitLab a Devin para que Devin pueda actuar con su identidad en las operaciones de GitLab, como abrir merge request en nombre del usuario vinculado cuando Open PRs as está configurado como User o User only en Settings > Devin > Pull requests. Para vincular una cuenta personal de GitLab:
  1. Asegúrate de ser miembro de una organización de Devin que tenga configurada la integración con GitLab
  2. Ve a Settings > Connections en la configuración de tu cuenta personal
  3. Busca la fila GitLab, haz clic en Link y completa la autorización de GitLab
Personal Connections solo muestra las integraciones de las organizaciones a las que pertenece el usuario. La fila GitLab aparece cuando tu organización tiene una conexión con GitLab.com. Las instancias autohospedadas de GitLab (plan Enterprise) aparecen como filas independientes de Self-hosted GitLab identificadas con el host, y se vinculan de la misma manera. Si no aparece ninguna fila de GitLab, comprueba que eres miembro de una organización de Devin con una conexión de GitLab.

Cómo usar Devin con la integración de GitLab

Después de conectar GitLab, configura tus repositorios en Devin’s Machine.
Cómo responde Devin a los comentarios de MR. Una vez configurado el webhook, los comentarios de una solicitud de fusión que una sesión de Devin esté siguiendo se entregan a esa sesión en tiempo real. De forma predeterminada, esto despierta una sesión que está durmiendo y Devin responde al comentario.Para limitar este comportamiento, un admin de la organización puede activar Require @Devin to respond en Settings > Devin > Pull requests. Con ese ajuste habilitado, Devin solo se despierta y responde a los comentarios que empiezan con @Devin o con Devin como palabra completa, por ejemplo, Devin fix this (también se acepta el prefijo devinai). La coincidencia no distingue entre mayúsculas y minúsculas.Los comentarios que contienen (aside) o !aside, o que empiezan con aside, siempre se ignoran, independientemente de este ajuste, de modo que puedes comentar la MR sin despertar a Devin.Sin un webhook, los comentarios de la MR no llegan a la sesión en tiempo real; aun así, Devin puede atenderlos si se los señalas directamente en la sesión.

Mejores prácticas

  • Crea una cuenta específica de GitLab para Devin
  • Activa la protección de ramas en las ramas main/master
  • Configura el webhook para recibir notificaciones de eventos en tiempo real

Soporte

  1. Crea un canal de Slack Connect con nuestro equipo en app.devin.ai/settings/support
  2. Comparte enlaces de la sesión al reportar problemas y adjunta capturas de pantalla