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

> Umfassender Leitfaden zur Konfiguration von Harness Code mit Corgea

Mit der Harness-Code-Integration können Sie in Harness Code gehostete Repositorys scannen, jeden Pull Request automatisch auf Schwachstellen prüfen und direkt in Corgea Pull Requests mit Code-Fixes erstellen.

<Note>
  Corgea integriert sich in **Harness Code**, das Git-basierte SCM der Harness-Plattform. Die Integration benötigt keine Harness-CI/CD-Pipelines und arbeitet unabhängig davon.
</Note>

<Steps>
  <Step title="Harness-Profil öffnen">
    Melden Sie sich bei Harness an, klicken Sie unten links in der Navigationsleiste auf Ihren Benutzernamen und wählen Sie **Profile Overview**.

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

  <Step title="Einen neuen API-Schlüssel erstellen">
    Scrollen Sie in Ihrem Profil zum Abschnitt **My API Keys** und klicken Sie auf **+ API Key**.

    <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="Einen neuen Harness-API-Schlüssel erstellen" width="1900" height="958" data-path="images/harness-2.png" />
    </Frame>

    <Tip>
      Für Produktionsumgebungen empfehlen wir ein eigenes **Service Account** in Harness (Account Settings → Access Control → Service Accounts). Generieren Sie den API-Schlüssel unter diesem Konto. So bleiben Corgeas Aktionen eindeutig zuordenbar und Sie können Zugangsdaten rotieren, ohne einzelne Benutzer zu beeinträchtigen.
    </Tip>
  </Step>

  <Step title="API-Schlüssel benennen">
    Geben Sie dem Schlüssel einen aussagekräftigen Namen wie `corgea-integration` und klicken Sie auf **Save**.

    <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="Den Harness-API-Schlüssel benennen" width="1908" height="953" data-path="images/harness-3.png" />
    </Frame>
  </Step>

  <Step title="Ein Token zum API-Schlüssel hinzufügen">
    Der API-Schlüssel selbst authentifiziert keine Requests. Sie müssen darunter ein **Token** generieren. Klappen Sie den soeben erstellten API-Schlüssel auf und klicken Sie auf **+ 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="Einen Token zum Harness-API-Schlüssel hinzufügen" width="1902" height="955" data-path="images/harness-4.png" />
    </Frame>
  </Step>

  <Step title="Den Token generieren">
    Geben Sie einen Namen (beispielsweise `corgea-token`) und ein Ablaufdatum an und klicken Sie auf **Generate Token**.

    <Warning>
      Harness zeigt den Token-Wert nur einmal an. Stellen Sie sicher, dass Sie ihn kopieren, bevor Sie den Dialog schließen – Sie können ihn später nicht mehr abrufen.
    </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="Den Harness-Token generieren" width="1917" height="953" data-path="images/harness-5.png" />
    </Frame>
  </Step>

  <Step title="Den Token kopieren">
    Kopieren Sie das generierte Token in die Zwischenablage und schließen Sie den Dialog. Harness-Tokens haben das Format `pat.<accountId>.<tokenId>.<secret>`. Corgea leitet die Konto-ID automatisch aus dem Token ab; Sie müssen sie nicht separat angeben.

    <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="Den generierten Harness-Token kopieren" width="1918" height="957" data-path="images/harness-6.png" />
    </Frame>
  </Step>

  <Step title="Die Corgea-Integrationsseite öffnen">
    Melden Sie sich bei Corgea unter `corgea.app` an (bei selbst gehosteten Deployments unter `{your-instance}.corgea.app`) und öffnen Sie über die Seitenleiste **Integrations**. Klicken Sie im Bereich **Code Repository Integrations** neben **Harness** auf **+**.

    <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="Die Corgea-Integrationsseite öffnen" width="1904" height="991" data-path="images/harness-7.png" />
    </Frame>
  </Step>

  <Step title="Die Integration hinzufügen">
    Fügen Sie das aus Harness kopierte Token in das Feld **API Token** ein.

    Standardmäßig erkennt Corgea Repositorys in **allen Harness-Organisationen**, die für das Token sichtbar sind. Um die durchsuchten Organisationen einzuschränken, geben Sie im Feld **Org allowlist** eine kommagetrennte Liste von Organisations-IDs ein, beispielsweise `default,my-other-org`. Lassen Sie das Feld leer, um alle Organisationen zuzulassen.

    <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="Harness-Integration in Corgea hinzufügen" width="1915" height="987" data-path="images/harness-8.png" />
    </Frame>
  </Step>

  <Step title="Optionale Einstellungen">
    Klappen Sie **Optional settings** auf, um Standardwerte anzupassen:

    * **Name** – eine aussagekräftige Bezeichnung für die Integration, insbesondere bei mehreren Harness-Konten.
    * **Base URL** – standardmäßig `https://app.harness.io` für Harness SaaS. Ändern Sie den Wert bei einer selbst gehosteten Harness-Installation.
    * **Gateway prefix** – standardmäßig `/gateway`, das SaaS-Präfix. Einige selbst gehostete Deployments verwenden dieses Präfix nicht; leeren Sie in diesem Fall das Feld.

    Klicken Sie anschließend auf **Connect**.

    <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="Optionale Harness-Integrations-Einstellungen" width="1921" height="992" data-path="images/harness-9.png" />
    </Frame>
  </Step>
</Steps>

Corgea validiert das Token sofort. Bei Erfolg zeigt die Integrationskarte den Namen Ihres Harness-Kontos an. Anschließend können Sie auf der Seite [Projects](https://www.corgea.app/projects/) Repositorys verknüpfen. Harness-Repositorys erscheinen mit dem Symbol `H` und einer Bezeichnung im Format `<org>/<project>/<repo>`.

## So funktioniert es

* **Repository-Erkennung** – Corgea ruft über die Harness Code API alle Repositorys in den Organisationen und Projekten ab, auf die das Token zugreifen kann. Eine konfigurierte Allowlist schränkt die Auswahl ein. Neue Repositorys erscheinen automatisch; auf der Seite "Projects" können Sie eine Aktualisierung erzwingen.
* **Pull-Request-Scans** – Wenn Sie ein Corgea-Projekt mit einem Harness-Repository verknüpfen, registriert Corgea für dieses Repository einen Webhook in Harness Code. Das Öffnen oder erneute Öffnen eines PR sowie Pushes lösen einen inkrementellen Scan aus. Die Ergebnisse werden als Inline-Review-Kommentare im Diff veröffentlicht. Corgea setzt außerdem den Commit-Status `corgea-security-scan`, den PR-Regeln vor dem Merge voraussetzen können.
* **Fixes als PRs anwenden** – Klicken Sie bei einem von Corgea erkannten Issue auf **Create Pull Request**. Corgea überträgt den Fix in einen neuen Harness-Branch und öffnet einen PR zurück in den Source-Branch des Issues.
* **Corgea Agent** – Antworten auf Corgeas PR-Kommentare werden über Corgea Agent verarbeitet, sofern er für Ihr Unternehmen aktiviert ist. Der Agent kann Issues als False Positives markieren, zuweisen oder Rückfragen im Thread des ursprünglichen Review-Kommentars beantworten.

## Berechtigungen

Der Benutzer (oder Service-Account), dem der API-Schlüssel gehört, muss mindestens die Rolle **Code Repository Viewer** für jedes Projekt haben, das Corgea lesen soll. Um PR-Kommentare, Statusprüfungen und PR-Erstellung zu ermöglichen, geben Sie die Rolle **Code Repository Admin** (oder eine gleichwertige benutzerdefinierte Rolle mit Berechtigungen zum Erstellen/Kommentieren/Status) frei. Siehe die [Harness RBAC-Dokumentation](https://developer.harness.io/docs/platform/role-based-access-control/rbac-in-harness) für Details.

## Unterstützte Harness-Bereitstellungen

| Bereitstellung                  | Unterstützt | Hinweise                                                                                       |
| ------------------------------- | ----------- | ---------------------------------------------------------------------------------------------- |
| Harness SaaS (`app.harness.io`) | ✅           | Funktioniert sofort mit den Standardeinstellungen.                                             |
| Harness Self-Managed Enterprise | ✅           | Überschreiben Sie die **Basis-URL** und, falls nötig, löschen Sie das Feld **Gateway-Präfix**. |
