Zum Hauptinhalt springen
Verbinden Sie GitLab, damit Enclave Ihre Projekte lesen, Merge Requests prüfen und mit verifizierten Findings kommentieren kann. Funktioniert mit GitLab.com und selbst gehostetem GitLab ab Version 14.

Bevor Sie beginnen

  • Sie benötigen in Enclave die Rolle Owner oder Admin.
  • Enclave listet die GitLab-Gruppen auf, in denen Sie mindestens die Rolle Developer haben.
  • Um den Webhook hinzuzufügen, benötigen Sie die Rolle Maintainer für jedes Projekt oder die Rolle Owner für die Gruppe. Gruppen-Webhooks erfordern GitLab Premium oder Ultimate.
  • Bei selbst gehostetem GitLab benötigt das Access Token den Scope api und die Rolle Maintainer.
Ohne den Webhook kann Enclave keine neuen Commits oder Merge Requests sehen, und die Verbindung bleibt ausstehend.

GitLab verbinden

1

Integrationen öffnen

Öffnen Sie Settings → Integrations in app.enclave.ai. Klicken Sie neben GitLab auf Connect.
2

GitLab autorisieren

Wählen Sie GitLab.com, melden Sie sich bei Ihrem GitLab-Konto an und autorisieren Sie die Enclave-Anwendung.
Über GitLab-OAuth erhält Enclave den Scope api. GitLab bietet keinen engeren Scope, der das Veröffentlichen von MR-Kommentaren und das Verwalten von Webhooks erlaubt. Enclave nutzt ihn, um Projekte und Merge Requests zu lesen, MR-Kommentare zu veröffentlichen und Webhook-Ereignisse zu empfangen.
Sie verwenden selbst gehostetes GitLab? Wählen Sie Self-hosted GitLab. Geben Sie die URL Ihrer Instanz ohne /api/v4 ein und fügen Sie ein Access Token mit dem Scope api und der Rolle Maintainer ein. Fügen Sie ein privates CA-Bundle hinzu, wenn Ihre Instanz eine interne Zertifizierungsstelle verwendet. Klicken Sie dann auf Validate & connect. Wenn Ihr Plan kein selbst gehostetes GitLab umfasst, führt Connect direkt zu GitLab.com.
3

Webhook hinzufügen

Enclave zeigt eine Webhook URL und ein Secret token an. Kopieren Sie beides. Das Secret wird nur einmal angezeigt.Öffnen Sie in GitLab Ihr Projekt (oder bei selbst gehostetem GitLab Ihre Gruppe) und gehen Sie zu Settings → Webhooks. Fügen Sie die URL und das Secret Token ein, aktivieren Sie Push events und Merge request events und klicken Sie auf Add webhook. Klicken Sie auf Test, um eine Testzustellung zu senden.Die Verbindung bleibt ausstehend, bis das erste Ereignis eintrifft.
4

Projekte für MR-Reviews auswählen

Automatische Reviews sind standardmäßig für jedes GitLab-Projekt aktiviert. Um sie für ein Projekt zu deaktivieren, verwenden Sie dessen Schalter PR Reviews unter Coverage → Repositories. Siehe PR- und Abhängigkeitsanalyse.

Tipps

  • Erstellen Sie ein eigenes GitLab-Konto für Enclave, damit MR-Kommentare eindeutig zugeordnet sind. Bei selbst gehostetem GitLab ist ein Service-Account-Token am besten, danach ein Group Access Token. Ein persönliches Token funktioniert auch, aber dann erscheint jeder Kommentar unter Ihrem Namen.
  • Verbinden Sie jedes Projekt eines Systems. Enclave findet serviceübergreifende Probleme nur, wenn es sowohl den Service als auch die von ihm aufgerufenen APIs sehen kann.

Fehlerbehebung

Bei selbst gehostetem GitLab prüft Validate & connect zuerst Ihre URL und Ihr Token:
  • Enclave requires GitLab 14 or newer: Aktualisieren Sie Ihre Instanz.
  • GitLab rejected the token oder The token must include the ‘api’ scope: Stellen Sie ein neues Token mit dem Scope api aus.
  • The token authenticated but cannot see any projects: Fügen Sie das Token zuerst einer Gruppe oder einem Projekt hinzu.
  • We refused to call that URL: Der Hostname wurde zu einer privaten oder internen Adresse aufgelöst. Enclave verbindet sich nicht mit solchen Adressen.
  • We could not reach your GitLab instance: Prüfen Sie die URL und Ihre Firewall-Regeln.
Um ein Token für selbst gehostetes GitLab zu rotieren, verbinden Sie sich erneut mit einem neuen Token für dieselbe Instanz. Enclave aktualisiert die bestehende Verbindung, und Ihr Webhook funktioniert weiter. Widerrufen Sie anschließend das alte Token in GitLab.