> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Integración con GitHub Enterprise Server

> Conecta Devin con GitHub Enterprise Server o GitHub Enterprise Cloud con residencia de datos

<div id="overview">
  ## Descripción general
</div>

Devin ofrece dos métodos para conectarse a GitHub Enterprise Server (GHES) y GitHub Enterprise Cloud (GHEC) con residencia de datos:

1. **GitHub App (recomendada)** — Registra e instala una GitHub App dedicada en tu instancia de GHES o GHEC. Esto proporciona una experiencia de configuración más ágil y no requiere gestionar tokens de acceso personal.
2. **Token de acceso personal (PAT)** — Crea una cuenta de servicio y genera un token de acceso personal con permisos granulares. Este método funciona con todas las versiones de GHES.

<Note>
  La integración con GitHub App actualmente solo está disponible de forma limitada. Para comenzar, ponte en contacto con tu representante de Cognition.
</Note>

***

<div id="github-app-setup">
  ## Configuración de GitHub App
</div>

La configuración de GitHub App consta de tres pasos:

1. **Registro de la App** — Registra una GitHub App en tu instancia de GHES o GHEC. Solo necesitas **un registro de App por instancia**.
2. **Configuración de la App** — Configura la App registrada en tu instancia de GHES o GHEC (p. ej., hazla pública y desactiva el vencimiento del token).
3. **Instalación de la App** — Instala la App registrada en cada organización de GitHub a la que quieras dar acceso a Devin. Necesitas **una instalación por organización**.

<div id="prerequisites">
  ### Requisitos previos
</div>

* Un usuario de Devin con **Gestionar permisos de Git**
* Acceso como propietario o administrador a la organización de GitHub donde se registrará la aplicación

<div id="step-1-register-the-github-app">
  ### Paso 1: Registrar la GitHub App
</div>

1. En tu cuenta de Devin, ve a **Settings de Enterprise** → **Integraciones** → **GitHub**.
2. Despliega la sección **Advanced** para ver las opciones de **GitHub Enterprise**.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-advanced-section.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=f3e1ea6a8b5b8992f5517ba2f5d7c22a" alt="Sección avanzada de GitHub Enterprise" width="3840" height="1980" data-path="images/enterprise/ghes-app/ghes-advanced-section.png" />
</Frame>

3. Haz clic en **Register App**.
4. En el modal que aparece, introduce el **hostname** de tu instancia de GHES o GHEC y la **organización** donde se registrará la GitHub App.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-register-app-modal.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=fd07f979ccd97d4776562da7dc71d591" alt="Modal de Register App" width="3840" height="1978" data-path="images/enterprise/ghes-app/ghes-register-app-modal.png" />
</Frame>

5. Se te redirigirá a GitHub. Haz clic en **Register App** para completar el registro.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-github-register-page.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=5c7eccabdfda442bd77ba97f46ba4d60" alt="Página de registro de GitHub" width="3840" height="1986" data-path="images/enterprise/ghes-app/ghes-github-register-page.png" />
</Frame>

6. Cuando vuelvas a Devin, la GitHub App ya estará registrada en tu organización de GitHub.

<div id="step-2-configure-the-github-app">
  ### Paso 2: Configurar la GitHub App
</div>

Después del registro, configura la app en tu instancia de GHES o GHEC:

1. En tu instancia de GHES o GHEC, ve a la organización de GitHub especificada durante el registro.
2. Ve a **Settings** → **Developer Settings** → **GitHub Apps** y selecciona la app de Devin.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-developer-settings-apps.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=ecb51f6bd5c69af15a9baa9bbbd95fd0" alt="Developer Settings - GitHub Apps" width="3840" height="1970" data-path="images/enterprise/ghes-app/ghes-developer-settings-apps.png" />
</Frame>

3. En la sección **Advanced**, dentro de **Danger zone**, haz clic en **Make public**. Esto permite instalar la app en otras organizaciones de la misma instancia.
4. Ve a la sección **Optional features** y desactiva **User-to-server token expiration**. Esto evita que los tokens de acceso caduquen y que los usuarios tengan que volver a autorizar la app periódicamente.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-token-expiration.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=1464c705255791100d0b73abe98d9cb3" alt="Configuración de vencimiento del token de usuario a servidor" width="3840" height="1980" data-path="images/enterprise/ghes-app/ghes-token-expiration.png" />
</Frame>

<div id="step-3-install-the-github-app">
  ### Paso 3: Instala la app de GitHub
</div>

1. En tu cuenta de Devin, ve a **Settings de Enterprise** → **Integraciones** → **GitHub**.
2. Expande la sección **Avanzado** y haz clic en **Instalar app**.
3. En el modal, selecciona la GitHub App registrada en tu instancia de GHES o GHEC.

<Frame>
  <img src="https://mintcdn.com/cognitionai-enterprise/Eif_NNHmp1Px-KLi/images/enterprise/ghes-app/ghes-install-app-modal.png?fit=max&auto=format&n=Eif_NNHmp1Px-KLi&q=85&s=aa91656d28604c82cedb3da957c9d6de" alt="Modal de instalación de la app" width="3840" height="1982" data-path="images/enterprise/ghes-app/ghes-install-app-modal.png" />
</Frame>

4. Se te redirigirá a GitHub, donde podrás elegir una organización de GitHub y seleccionar a qué repositorios dar acceso a Devin. Recomendamos dar acceso a **todos los repositorios**.
5. Después de completar la instalación, se te redirigirá de vuelta a Devin. Aparecerá una nueva conexión de Git en **Settings** → **Integraciones** → **GitHub**.

Repite este paso con cada organización de GitHub adicional que quieras conectar.

<div id="troubleshooting">
  ### Solución de problemas
</div>

Si surge algún problema durante el proceso de registro o instalación de la GitHub App, póngase en contacto con su representante de Cognition o escriba a [enterprise@cognition.ai](mailto:enterprise@cognition.ai).

***

<div id="personal-access-token-setup">
  ## Configuración del Personal Access Token
</div>

La integración de Devin con GitHub permite que Devin acceda a tus repositorios y cree pull requests. Esto le permite a Devin ser un verdadero colaborador en tu equipo de ingeniería.

<div id="create-a-service-account-for-devin">
  ### **Crear una cuenta de servicio para Devin**
</div>

1. En tu instancia de GitHub Enterprise, crea una nueva cuenta de GitHub para que la utilice Devin. Esto es importante para garantizar que se pueda hacer un seguimiento y una gestión adecuados de todo el acceso y uso que haga Devin.
2. Agrega la cuenta de servicio recién creada a todas las organizaciones de GitHub pertinentes como **Member (Miembro)**. Verifica que la cuenta tenga acceso a todos los repositorios a los que se espera que Devin acceda.

<div id="generate-a-personal-access-token-for-devin">
  ### **Generar un token de acceso personal para Devin**
</div>

1. Con la sesión iniciada en la cuenta de servicio, haz clic en la foto de perfil en la esquina superior derecha y luego haz clic en <Icon icon="gear" iconType="regular" size="16" /> **Settings**.
2. En la barra lateral izquierda, haz clic en <Icon icon="code" iconType="regular" size="16" /> **Developer settings**.
3. En la barra lateral izquierda, bajo <Icon icon="key" iconType="regular" size="16" /> **Personal access tokens**, haz clic en **Fine-grained tokens**.
4. Haz clic en **Generate new token**.
5. Añade el **Token name** y la **Expiration**.\
   **Nota:** Cuando el token caduque, Devin perderá inmediatamente todo acceso a GitHub y será necesario crear un token nuevo.
6. En **Resource owner**, selecciona la organización correcta.

<Accordion title="Problema común: la organización no aparece" icon="triangle-exclamation">
  Si no ves la organización correcta en "Resource owner", asegúrate de que tanto el Enterprise como la organización hayan habilitado el uso de tokens de acceso personal de granularidad fina (fine-grained personal access tokens).

  #### **Habilitar en la configuración de Enterprise**

  Solo los administradores de Enterprise podrán actualizar estas configuraciones. Asegúrate de que los tokens de acceso personal también estén habilitados en la configuración de la organización específica.

  1. En la esquina superior derecha de GitHub Enterprise Server, haz clic en tu foto de perfil y luego haz clic en **Enterprise settings**.
  2. En la parte superior de la página, haz clic en <Icon icon="scale-balanced" iconType="regular" size="16" /> **Policies**.
  3. En **Policies**, haz clic en <Icon icon="key" iconType="regular" size="16" /> **Personal access tokens**.
  4. Selecciona la pestaña **Fine-grained tokens**.
  5. En **Fine-grained personal access tokens**, habilita el acceso.
  6. Haz clic en **Save**.

  #### **Habilitar en la configuración de la organización**

  Solo los administradores de la organización podrán actualizar estas configuraciones. Asegúrate de que los tokens de acceso personal también estén habilitados en la configuración de Enterprise.

  1. En la esquina superior derecha de GitHub, haz clic en tu foto de perfil y luego haz clic en <Icon icon="building" iconType="regular" size="16" /> **Organizations**.
  2. Junto a la organización, haz clic en **Settings**.
  3. En la barra lateral izquierda, bajo <Icon icon="key" iconType="regular" size="16" /> **Personal access tokens**, haz clic en **Settings**.
  4. Selecciona la pestaña **Fine-grained tokens**.
  5. En **Fine-grained personal access tokens**, habilita el acceso para tu organización.
  6. Haz clic en **Save**.
</Accordion>

7. En **Repository access**, selecciona con qué repositorios quieres que trabaje Devin. Los tokens siempre incluyen acceso de solo lectura a todos los repositorios públicos en GitHub.
8. Asegúrate de que el token tenga los siguientes permisos, que son necesarios para que Devin funcione correctamente:

| Permiso       | Nivel de acceso | Descripción                                                                                   |
| :------------ | :-------------- | :-------------------------------------------------------------------------------------------- |
| Contents      | Read and write  | Permitir que Devin contribuya a la base de código                                             |
| Issues        | Read and write  | Permitir que Devin abra nuevos issues                                                         |
| Metadata      | Read only       | Permitir que Devin vea metadatos cruciales sobre un repositorio, como quién es el propietario |
| Pull requests | Read and write  | Permitir que Devin cree nuevas PR                                                             |

Los permisos adicionales ayudarán a que Devin colabore mejor con tu equipo, según el tipo de trabajo que le estés pidiendo que haga.

9. Haz clic en **Generate Token** y guarda el token que se muestre.\
   **Nota:** Es posible que se necesite aprobación de un administrador, según tu configuración de GitHub.
10. Para validar que el token tiene todo el acceso y los permisos necesarios, **crea y haz push de una rama de prueba** desde tu máquina local a un repositorio de la organización.
11. Una vez que el token se haya generado y probado, ponte en contacto con tu punto de contacto en Cognition para terminar el proceso de configuración. Si actualmente no estás trabajando directamente con nuestro equipo, escribe a [enterprise@cognition.ai](mailto:enterprise@cognition.ai).

<div id="validating-pat-permissions-locally">
  ### **Validando los permisos del PAT localmente**
</div>

Antes de compartir el token con Cognition, comprueba que tiene los permisos correctos realizando un push de una rama de prueba:

```bash theme={null}
# Autenticar con gh CLI usando tu token
export GH_TOKEN=your_personal_access_token
export GH_HOST=your-github-enterprise-server.com

# Clonar el repositorio
gh repo clone your-organization/your-repository
cd your-repository

# Crear una rama de prueba
git checkout -b test-devin-token-$(date +%s)

# Realizar un pequeño cambio
echo "# Test" >> TEST.md
git add TEST.md
git commit -m "Test: Validate Devin token permissions"

# Subir la rama (prueba el permiso de escritura de contenidos)
git push origin HEAD

# Crear una solicitud de extracción (prueba el permiso de escritura de solicitudes de extracción)
gh pr create --title "Test: Validate Devin token permissions" \
  --body "This is a test PR to validate token permissions." \
  --base main

# Limpiar: cerrar la solicitud de extracción de prueba y eliminar la rama de prueba
gh pr close pr-number --delete-branch
```

**Resultados esperados:** El push y la creación del PR deberían realizarse correctamente, sin errores de autenticación. Si el push falla, verifica que el token tenga el permiso "Contents: Read and write". Si la creación del PR falla, verifica que el token tenga el permiso "Pull requests: Read and write".

<div id="using-devin-with-the-github-integration">
  ## **Uso de Devin con la integración de GitHub**
</div>

Ahora que GitHub está integrado, puedes configurar qué suborganizaciones de Devin tienen acceso a cada repositorio (consulta [Permisos de repositorio](/es/enterprise/integrations/git-integrations#repository-permissions)).

Una vez que la integración se haya configurado, puedes ir a la aplicación web de Devin y @mencionar cualquier repositorio en tu prompt.

Si estás utilizando un repositorio por primera vez, te recomendamos seguir el [proceso de configuración del entorno de desarrollo en el flujo de incorporación](/es/onboard-devin/environment) para garantizar que Devin tenga la información más precisa y actualizada sobre cómo trabajar con tu base de código.

<Tip>Devin responderá automáticamente a cualquier comentario en un pull request siempre que la sesión no se haya archivado.</Tip>

<div id="security-considerations">
  ### **Consideraciones de seguridad**
</div>

Información adicional sobre los permisos de Devin en GitHub:

* Recomendamos habilitar protecciones de ramas en `master` para asegurarte de que se ejecuten las comprobaciones antes de que Devin pueda fusionar cualquier cambio.
* Si Devin está conectado a la cuenta de GitHub de tu organización, tendrá los mismos permisos que cualquier usuario con acceso tanto a la organización de GitHub como a la de Devin.
* Devin no reflejará los permisos del usuario que esté ejecutando una sesión con Devin; conservará los permisos concedidos a nivel de organización.
* Devin no puede crear nuevos repositorios en tu cuenta de GitHub.
