GitLab-Integration
Verbinden Sie Ihre GitLab-Repositories mit ArchiCore für automatische Analyse.
Funktionen
- Self-hosted-Unterstützung — Verbinden Sie gitlab.com oder Ihre eigene GitLab-Instanz
- Mehrere Instanzen — Verbinden Sie mehrere GitLab-Server gleichzeitig
- Private Repositories — Vollständiger Zugriff auf private Projekte
- Branch-Auswahl — Wählen Sie welchen Branch analysiert werden soll
- Auto-Analyse — Automatische Analyse bei Push-Events
- Merge Request Reviews — KI-gestützte Code-Reviews für MRs
Einrichtung
Schritt 1: Personal Access Token erstellen
- Gehen Sie zu Ihrem GitLab → Einstellungen → Access Tokens
- Erstellen Sie einen neuen Token mit diesen erforderlichen Scopes:
api— Erforderlich für vollständigen API-Zugriff (private Repositories, Webhooks, MR-Kommentare)read_repository— Erforderlich zum Lesen von Repository-Inhalten
Für private Repositories ist der api Scope obligatorisch. Ohne ihn kann ArchiCore nicht auf private Projekte zugreifen, auch wenn Sie der Repository-Eigentümer oder Administrator sind.
- Kopieren Sie den Token (Sie sehen ihn nicht wieder!)
Schritt 2: GitLab-Instanz verbinden
Über Web-Interface:
- Gehen Sie zu ArchiCore → Einstellungen → Integrationen
- Klicken Sie auf GitLab hinzufügen
- Geben Sie Ihre GitLab-URL ein (z.B.
https://gitlab.comoderhttps://gitlab.firma.com) - Fügen Sie Ihren Personal Access Token ein
- Klicken Sie auf Verbinden
Über API:
curl -X POST https://api.archicore.io/api/gitlab/instances \
-H "Authorization: Bearer IHR_ARCHICORE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"instanceUrl": "https://gitlab.firma.com",
"accessToken": "IHR_GITLAB_PAT",
"name": "Firmen GitLab"
}'
Schritt 3: Repository verbinden
- Nach dem Verbinden Ihrer GitLab-Instanz klicken Sie auf Projekt hinzufügen
- Wählen Sie die GitLab-Instanz
- Suchen Sie Ihr Repository
- Wählen Sie einen Branch
- Klicken Sie auf Verbinden
Self-Hosted GitLab
ArchiCore unterstützt self-hosted GitLab-Instanzen vollständig.
SSL-Zertifikate
Wenn Ihr GitLab ein selbstsigniertes Zertifikat verwendet:
- Aktivieren Sie beim Verbinden "Selbstsignierte Zertifikate erlauben"
- Oder setzen Sie
rejectUnauthorizedSSL: falseim API-Aufruf
Netzwerkzugriff
Damit Webhooks funktionieren, muss Ihre GitLab-Instanz den ArchiCore-Webhook-Endpoint erreichen können:
https://api.archicore.io/api/gitlab/webhook
Wenn ArchiCore auch self-hosted ist, konfigurieren Sie GITLAB_WEBHOOK_URL in Ihrer Umgebung.
Mehrere Instanzen
Sie können mehrere GitLab-Instanzen verbinden:
- gitlab.com (öffentlich)
- gitlab.firma.com (Unternehmen)
- gitlab.kunde.com (Kundenprojekte)
Jede Instanz wird separat mit eigenen Anmeldedaten verwaltet.
Webhooks
ArchiCore kann automatisch Webhooks erstellen für:
- Push-Events — Analyse auslösen wenn Code gepusht wird
- Merge Request Events — KI-Review-Kommentare zu MRs hinzufügen
Webhook-Einrichtung
Webhooks werden automatisch erstellt, wenn Sie ein Repository mit aktiviertem "Auto-Analyse" verbinden.
Manuelle Webhook-Konfiguration:
- Gehen Sie zu Ihrem GitLab-Projekt → Einstellungen → Webhooks
- URL hinzufügen:
https://api.archicore.io/api/gitlab/webhook - Secret Token: (von ArchiCore bereitgestellt)
- Aktivieren: Push events, Merge request events
API-Referenz
Instanzen auflisten
GET /api/gitlab/instances
Instanz hinzufügen
POST /api/gitlab/instances
Content-Type: application/json
{
"instanceUrl": "https://gitlab.firma.com",
"accessToken": "glpat-xxxxxxxxxxxx",
"name": "Mein GitLab",
"rejectUnauthorizedSSL": true
}
Projekte auflisten
GET /api/gitlab/instances/{instanceId}/projects?search=meinprojekt
Branches auflisten
GET /api/gitlab/instances/{instanceId}/projects/{projectId}/branches
Repository verbinden
POST /api/gitlab/repositories/connect
Content-Type: application/json
{
"instanceId": "uuid",
"projectId": 123,
"autoAnalyze": true,
"analyzeMRs": true,
"branch": "main"
}
Repository trennen
DELETE /api/gitlab/repositories/{repoId}
Fehlerbehebung
"Ungültiger Token"
- Ablauf prüfen — Stellen Sie sicher, dass Ihr PAT nicht abgelaufen ist
- Scopes prüfen — Der Token muss die Scopes
apiundread_repositoryhaben - URL prüfen — Für self-hosted GitLab, stellen Sie sicher, dass die URL korrekt ist (inklusive
https://) - Token neu erstellen — Bei anhaltenden Problemen erstellen Sie einen neuen Token mit den korrekten Scopes
"SSL-Zertifikatsfehler"
- Aktivieren Sie "Selbstsignierte Zertifikate erlauben" beim Verbinden
- Oder fügen Sie Ihr CA-Zertifikat zum System-Truststore hinzu
"Webhook empfängt keine Events"
- Verifizieren Sie, dass Ihr GitLab die Webhook-URL erreichen kann
- Prüfen Sie GitLab → Projekt → Einstellungen → Webhooks → Letzte Zustellungen
- Stellen Sie sicher, dass das Webhook-Secret übereinstimmt
"Repository nicht gefunden"
- Token-Scopes prüfen — Für private Repositories muss Ihr PAT den
apiScope haben. Derread_apiScope allein reicht nicht aus. - Token-Berechtigungen prüfen — Auch wenn Sie Repository-Administrator oder -Eigentümer sind, kann ein Token mit falschen Scopes nicht auf private Projekte zugreifen.
- Vollständigen Pfad eingeben — Verwenden Sie beim Verbinden den vollständigen Repository-Pfad (z.B.
gruppe/untergruppe/projekt-name), nicht nur den Projektnamen. - Archivierung prüfen — Archivierte Repositories erscheinen möglicherweise nicht in Suchergebnissen.
- Richtige Instanz prüfen — Stellen Sie sicher, dass Sie den richtigen GitLab-Server betrachten (gitlab.com vs. self-hosted).