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

# Harness

> Guía completa para configurar Harness Code con Corgea

La integración de Harness Code con Corgea te permite escanear repositorios alojados en Harness Code, recibir revisiones automáticas de seguridad en cada pull request y crear pull requests para correcciones de código directamente desde la plataforma Corgea.

<Note>
  Corgea se integra con **Harness Code** (el SCM basado en Git dentro de la plataforma Harness). No requiere — y es independiente — de las pipelines de Harness CI/CD.
</Note>

<Steps>
  <Step title="Abre tu perfil de Harness">
    Inicia sesión en Harness, luego haz clic en tu nombre de usuario en la esquina inferior izquierda de la barra de navegación y elige **Resumen del perfil**.

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-1.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=5656fa8b423533f3f7b8826ee51d2b25" style={{ borderRadius: '0.5rem' }} alt="Perfil de Harness abierto" width="599" height="364" data-path="images/harness-1.png" />
    </Frame>
  </Step>

  <Step title="Crear una nueva clave de API">
    Desplázate hacia abajo hasta la sección **Mis Claves API** de tu perfil y haz clic en **+ Clave de API** para crear una nueva clave.

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-2.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=9e20ea73c168de45bf4d0d01193bb02d" style={{ borderRadius: '0.5rem' }} alt="Crea una nueva clave de API de Harness" width="1900" height="958" data-path="images/harness-2.png" />
    </Frame>

    <Tip>
      Para configuraciones de producción, recomendamos crear una **Cuenta de Servicio** dedicada en Harness (Configuración de cuenta → Control de acceso → Cuentas de servicio) y generar la clave de API bajo esa cuenta. Esto mantiene las acciones de Corgea claramente atribuibles y te permite rotar las credenciales sin afectar a ningún usuario individual.
    </Tip>
  </Step>

  <Step title="Nombra tu clave de API">
    Da a la clave un nombre descriptivo como `corgea-integration`, luego haz clic en **Guardar**.

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-3.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=14ef59176233197644cdc77a0b1dc655" style={{ borderRadius: '0.5rem' }} alt="Nombra la clave de API de Harness" width="1908" height="953" data-path="images/harness-3.png" />
    </Frame>
  </Step>

  <Step title="Añadir un token a la clave de API">
    La clave de API en sí no autentica las solicitudes — necesitas generar un **token** debajo de ella. Expande la clave de API que acabas de crear y haz clic en **+ Token**.

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-4.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=d92ca86787479f058e382f7cc6b4be3d" style={{ borderRadius: '0.5rem' }} alt="Añadir un token a la clave de API de Harness" width="1902" height="955" data-path="images/harness-4.png" />
    </Frame>
  </Step>

  <Step title="Generar el token">
    Dale un nombre al token (por ejemplo `corgea-token`) y una fecha de caducidad, luego haz clic en **Generar Token**.

    <Warning>
      Harness solo muestra el valor del token una vez. Asegúrate de copiarlo antes de cerrar el cuadro de diálogo, ya que no podrás recuperarlo después.
    </Warning>

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-5.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=391993f26605b974160c3199e65467c6" style={{ borderRadius: '0.5rem' }} alt="Generar el token Harness" width="1917" height="953" data-path="images/harness-5.png" />
    </Frame>
  </Step>

  <Step title="Copia el token">
    Copia el token generado en el portapapeles y cierra el cuadro de diálogo. Los tokens de Harness tienen el formato `pat.<accountId>.<tokenId>.<secret>`; Corgea obtiene automáticamente del token el ID de la cuenta, por lo que no es necesario proporcionarlo por separado.

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-6.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=1dd5c28913f965e113d48b4a7064a5bc" style={{ borderRadius: '0.5rem' }} alt="Copia el token de Harness generado" width="1918" height="957" data-path="images/harness-6.png" />
    </Frame>
  </Step>

  <Step title="Abrir la página de integraciones de Corgea">
    Inicia sesión en Corgea en `corgea.app` (o `{your-instance}.corgea.app` para despliegues autoalojados) y abre la página **Integraciones** desde la barra lateral. En **Integraciones de repositorios de código**, haz clic en el botón **+** situado junto a **Harness**.

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-7.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=3867b91d75b7d92b443cfd515aaff1e4" style={{ borderRadius: '0.5rem' }} alt="Abrir la página de integraciones de Corgea" width="1904" height="991" data-path="images/harness-7.png" />
    </Frame>
  </Step>

  <Step title="Añadir la integración">
    Pega el token que copiaste de Harness en el campo **API Token**.

    De forma predeterminada, Corgea detecta repositorios en **todas las organizaciones de Harness** visibles para el token. Para limitar las organizaciones, introduce en **Lista de permisos** sus identificadores separados por comas, por ejemplo `default,my-other-org`. Déjalo en blanco para permitirlas todas.

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-8.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=1edf0fb9ebc9e569ab0028c3bc45bd03" style={{ borderRadius: '0.5rem' }} alt="Añadir integración de Harness en Corgea" width="1915" height="987" data-path="images/harness-8.png" />
    </Frame>
  </Step>

  <Step title="Configuraciones opcionales">
    Expande **Ajustes opcionales** si necesitas ajustar alguno de los valores predeterminados:

    * **Nombre** — una etiqueta amigable para la integración. Útil al conectar varias cuentas de Harness.
    * **URL base** — de forma predeterminada, `https://app.harness.io` para Harness SaaS. Modifícala si te conectas a una instalación autoalojada de Harness.
    * **Prefijo de gateway** — de forma predeterminada, `/gateway` (el prefijo de SaaS). Algunas instalaciones autoalojadas omiten este prefijo; en ese caso, deja el campo vacío.

    Cuando termines, haz clic en **Conectar**.

    <Frame>
      <img src="https://mintcdn.com/corgea/TPxz-I5TeuxJbvmj/images/harness-9.png?fit=max&auto=format&n=TPxz-I5TeuxJbvmj&q=85&s=bc6c67574229021dbe609772fd4a54f5" style={{ borderRadius: '0.5rem' }} alt="Ajustes opcionales de integración de Harness" width="1921" height="992" data-path="images/harness-9.png" />
    </Frame>
  </Step>
</Steps>

Corgea valida el token de inmediato. Si la validación se realiza correctamente, la tarjeta de integración mostrará el nombre de tu cuenta de Harness y podrás empezar a vincular repositorios desde la página [Proyectos](https://www.corgea.app/projects/). Los repositorios de Harness aparecen con el icono `H` y una etiqueta `<org>/<project>/<repo>`.

## Cómo funciona

* **Descubrimiento de repositorios** — Corgea llama a la API Harness Code para listar todos los repositorios dentro de las organizaciones/proyectos a los que tu token puede acceder (filtrado por la lista de permisos si configuras uno). Los nuevos repositorios aparecen automáticamente; puedes forzar una actualización desde la página de Proyectos.
* **Escaneos de pull requests** — cuando vinculas un proyecto de Corgea a un repositorio de Harness, Corgea registra un webhook por repositorio en Harness Code. Al abrir o reabrir una PR, y con cada push posterior, se activa un escaneo incremental y los resultados se publican como comentarios de revisión en línea sobre el diff. Corgea también crea una comprobación del estado del commit (`corgea-security-scan`), que las reglas de las PR pueden exigir antes de la fusión.
* **Aplicar correcciones como PR** — en cualquier hallazgo detectado por Corgea, haz clic en **Crear pull request** para enviar la corrección a una rama nueva de Harness y abrir una PR contra la rama de origen.
* **Corgea Agent** — las respuestas a los comentarios de Corgea en las pull requests se envían a Corgea Agent (si está habilitado para tu empresa). El agente puede marcar hallazgos como falsos positivos, asignarlos o responder preguntas de seguimiento en un hilo bajo el comentario de revisión original.

## Permisos

El usuario (o la cuenta de servicio) propietario de la clave de API debe tener al menos el rol **Visor de Repositorio de Código** en cada proyecto que quieras que Corgea lea. Para habilitar los comentarios en PR, las comprobaciones de estado y la creación de PR, concede el rol **Administrador de Repositorio de Código** (o un rol personalizado equivalente con permisos de creación, comentarios y estado). Consulta la [documentación de RBAC de Harness](https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness) para obtener más información.

## Despliegues de Harness compatibles

| Despliegue                      | Compatible | Notas                                                                         |
| ------------------------------- | ---------- | ----------------------------------------------------------------------------- |
| Harness SaaS (`app.harness.io`) | ✅          | Funciona directamente con los valores predeterminados.                        |
| Harness Self-Managed Enterprise | ✅          | Modifica **URL base** y, si es necesario, borra el campo **Prefijo Gateway**. |
