> ## 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

> Guide complet de configuration de Harness Code avec Corgea

L’intégration de Harness Code avec Corgea vous permet de scanner des dépôts hébergés dans Harness Code, de recevoir des revues automatisées de sécurité sur chaque pull request, et de créer des pull requests pour des corrections de code directement depuis la plateforme Corgea.

<Note>
  Corgea s’intègre à **Harness Code** (le SCM Git de la plateforme Harness). Cette intégration ne nécessite pas les pipelines CI/CD Harness et fonctionne indépendamment de ceux-ci.
</Note>

<Steps>
  <Step title="Ouvrir votre profil Harness">
    Connectez-vous à Harness, puis cliquez sur votre nom d’utilisateur en bas à gauche de la barre de navigation et choisissez **Aperçu du profil**.

    <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="Ouvrir le profil Harness" width="599" height="364" data-path="images/harness-1.png" />
    </Frame>
  </Step>

  <Step title="Créer une nouvelle clé d’API">
    Faites défiler la page jusqu’à la section **Mes clés API** de votre profil, puis cliquez sur **+ Clé API**.

    <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="Créer une clé API Harness" width="1900" height="958" data-path="images/harness-2.png" />
    </Frame>

    <Tip>
      Pour les environnements de production, nous recommandons de créer un **compte de service** dédié dans Harness (Paramètres du compte → Contrôle d’accès → Comptes de service) et de générer la clé d’API depuis ce compte. Les actions de Corgea restent ainsi clairement attribuables et vous pouvez renouveler les identifiants sans affecter un utilisateur.
    </Tip>
  </Step>

  <Step title="Nommer la clé d’API">
    Donnez à la clé un nom explicite tel que `corgea-integration`, puis cliquez sur **Enregistrer**.

    <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="Nommer la clé API Harness" width="1908" height="953" data-path="images/harness-3.png" />
    </Frame>
  </Step>

  <Step title="Ajouter un token à la clé d’API">
    La clé d’API elle-même n’authentifie pas les requêtes : vous devez générer un **token** associé. Développez la clé d’API que vous venez de créer, puis cliquez sur **+ 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="Ajouter un token à la clé API Harness" width="1902" height="955" data-path="images/harness-4.png" />
    </Frame>
  </Step>

  <Step title="Générer le token">
    Donnez un nom au token (par exemple `corgea-token`) et définissez une date d’expiration, puis cliquez sur **Generate Token**.

    <Warning>
      Harness n’affiche la valeur du token qu’une seule fois. Veillez à le copier avant de fermer la boîte de dialogue : vous ne pourrez pas le récupérer ultérieurement.
    </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="Générer le token Harness" width="1917" height="953" data-path="images/harness-5.png" />
    </Frame>
  </Step>

  <Step title="Copier le token">
    Copiez le token généré dans le presse-papiers, puis fermez la boîte de dialogue. Les tokens Harness suivent le format `pat.<accountId>.<tokenId>.<secret>`. Corgea déduit automatiquement votre identifiant de compte du token ; vous n’avez donc pas à le fournir séparément.

    <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="Copier le token Harness généré" width="1918" height="957" data-path="images/harness-6.png" />
    </Frame>
  </Step>

  <Step title="Ouvrir la page des intégrations Corgea">
    Connectez-vous à Corgea sur `corgea.app` (ou `{your-instance}.corgea.app` pour les déploiements auto-hébergés), puis ouvrez la page **Intégrations** depuis la barre latérale. Dans la section **Intégrations de dépôts de code**, cliquez sur le bouton **+** à côté de **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="Ouvrir la page des intégrations Corgea" width="1904" height="991" data-path="images/harness-7.png" />
    </Frame>
  </Step>

  <Step title="Ajouter l’intégration">
    Collez le token copié depuis Harness dans le champ **API Token**.

    Par défaut, Corgea détecte les dépôts de **toutes les organisations Harness** accessibles au token. Pour limiter les organisations consultées par Corgea, saisissez dans le champ **Org allowlist** une liste d’identifiants séparés par des virgules (par exemple `default,my-other-org`). Laissez ce champ vide pour autoriser toutes les organisations.

    <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="Ajouter l’intégration Harness dans Corgea" width="1915" height="987" data-path="images/harness-8.png" />
    </Frame>
  </Step>

  <Step title="Paramètres facultatifs">
    Développez **Paramètres facultatifs** si vous devez modifier l’une des valeurs par défaut :

    * **Nom** — libellé lisible de l’intégration, utile lorsque plusieurs comptes Harness sont connectés.
    * **URL de base** — `https://app.harness.io` par défaut pour Harness SaaS. Modifiez-la pour vous connecter à une installation Harness auto-hébergée.
    * **Préfixe de passerelle** — `/gateway` par défaut (préfixe SaaS). Certains déploiements auto-hébergés n’utilisent pas ce préfixe ; dans ce cas, videz le champ.

    Lorsque vous avez terminé, cliquez sur **Connecter**.

    <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="Paramètres optionnels d’intégration de Harness" width="1921" height="992" data-path="images/harness-9.png" />
    </Frame>
  </Step>
</Steps>

Corgea valide immédiatement votre token. Une fois l’intégration validée, sa carte affiche le nom de votre compte Harness. Vous pouvez alors associer des dépôts depuis la page [Projets](https://www.corgea.app/projects/) ; les dépôts Harness sont identifiés par l’icône `H` et un libellé `<org>/<project>/<repo>`.

## Fonctionnement

* **Détection des dépôts** — Corgea utilise l’API Harness Code pour répertorier les dépôts des organisations et projets accessibles au token, en appliquant la liste d’organisations autorisées le cas échéant. Les nouveaux dépôts apparaissent automatiquement ; vous pouvez également forcer une actualisation depuis la page Projets.
* **Scan des pull requests** — lorsque vous associez un projet Corgea à un dépôt Harness, Corgea enregistre un webhook propre à ce dépôt dans Harness Code. L’ouverture, la réouverture ou la mise à jour d’une pull request déclenche un scan incrémental dont les résultats sont publiés sous forme de commentaires de revue inline dans le diff. Corgea publie également le statut de commit `corgea-security-scan`, que les règles de pull request peuvent rendre obligatoire avant la fusion.
* **Application des correctifs par pull request** — depuis tout problème détecté par Corgea, cliquez sur **Créer une pull request** pour que Corgea envoie le correctif vers une nouvelle branche Harness et ouvre une pull request ciblant la branche source du problème.
* **Corgea Agent** — les réponses aux commentaires de pull request de Corgea sont transmises au Corgea Agent, lorsqu’il est activé pour votre entreprise. L’agent peut marquer les problèmes comme faux positifs, les attribuer ou répondre aux questions de suivi dans le fil du commentaire de revue initial.

## Autorisations

L’utilisateur ou le compte de service propriétaire de la clé d’API doit disposer au minimum du rôle **Code Repository Viewer** sur chaque projet que Corgea doit lire. Pour autoriser les commentaires, les statuts et la création de pull requests, accordez le rôle **Code Repository Admin** ou un rôle personnalisé équivalent. Consultez la [documentation RBAC de Harness](https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness) pour plus de détails.

## Déploiements Harness pris en charge

| Déploiement                     | Pris en charge | Notes                                                                                   |
| ------------------------------- | -------------- | --------------------------------------------------------------------------------------- |
| Harness SaaS (`app.harness.io`) | ✅              | Fonctionne directement avec les paramètres par défaut.                                  |
| Harness Self-Managed Enterprise | ✅              | Modifiez l’**URL de base** et, si nécessaire, videz le champ **Préfixe de passerelle**. |
