Aller au contenu principal

Intégration GitLab

Connectez vos dépôts GitLab à ArchiCore pour une analyse automatique.

Fonctionnalités

  • Support auto-hébergé — Connectez gitlab.com ou votre propre instance GitLab
  • Instances multiples — Connectez plusieurs serveurs GitLab simultanément
  • Dépôts privés — Accès complet aux projets privés
  • Sélection de branche — Choisissez quelle branche analyser
  • Auto-analyse — Analyse automatique sur les événements push
  • Revues de Merge Request — Revues de code alimentées par l'IA sur les MRs

Configuration

Étape 1 : Créer un Token d'Accès Personnel

  1. Allez dans votre GitLab → ParamètresTokens d'Accès
  2. Créez un nouveau token avec ces scopes requis :
    • apiRequis pour l'accès API complet (dépôts privés, webhooks, commentaires MR)
    • read_repositoryRequis pour lire le contenu du dépôt
Scopes Requis

Pour les dépôts privés, le scope api est obligatoire. Sans lui, ArchiCore ne peut pas accéder aux projets privés même si vous êtes propriétaire ou administrateur du dépôt.

  1. Copiez le token (vous ne le verrez plus !)

Étape 2 : Connecter l'Instance GitLab

Via l'Interface Web :

  1. Allez dans ArchiCore → ParamètresIntégrations
  2. Cliquez sur Ajouter GitLab
  3. Entrez votre URL GitLab (ex. https://gitlab.com ou https://gitlab.entreprise.com)
  4. Collez votre Token d'Accès Personnel
  5. Cliquez sur Connecter

Via API :

curl -X POST https://api.archicore.io/api/gitlab/instances \
-H "Authorization: Bearer VOTRE_TOKEN_ARCHICORE" \
-H "Content-Type: application/json" \
-d '{
"instanceUrl": "https://gitlab.entreprise.com",
"accessToken": "VOTRE_PAT_GITLAB",
"name": "GitLab Entreprise"
}'

Étape 3 : Connecter un Dépôt

  1. Après avoir connecté votre instance GitLab, cliquez sur Ajouter Projet
  2. Sélectionnez l'instance GitLab
  3. Recherchez votre dépôt
  4. Sélectionnez une branche
  5. Cliquez sur Connecter

GitLab Auto-hébergé

ArchiCore supporte entièrement les instances GitLab auto-hébergées.

Certificats SSL

Si votre GitLab utilise un certificat auto-signé :

  1. Lors de la connexion, activez "Autoriser les certificats auto-signés"
  2. Ou définissez rejectUnauthorizedSSL: false dans l'appel API

Accès Réseau

Pour que les webhooks fonctionnent, votre instance GitLab doit pouvoir atteindre le point de terminaison webhook d'ArchiCore :

https://api.archicore.io/api/gitlab/webhook

Si ArchiCore est également auto-hébergé, configurez GITLAB_WEBHOOK_URL dans votre environnement.

Instances Multiples

Vous pouvez connecter plusieurs instances GitLab :

  • gitlab.com (public)
  • gitlab.entreprise.com (entreprise)
  • gitlab.client.com (projets clients)

Chaque instance est gérée séparément avec ses propres identifiants.

Webhooks

ArchiCore peut créer automatiquement des webhooks pour :

  • Événements Push — Déclencher l'analyse quand du code est poussé
  • Événements Merge Request — Ajouter des commentaires de revue IA aux MRs

Configuration des Webhooks

Les webhooks sont créés automatiquement quand vous connectez un dépôt avec "Auto-analyse" activé.

Configuration manuelle des webhooks :

  1. Allez dans votre projet GitLab → ParamètresWebhooks
  2. Ajoutez l'URL : https://api.archicore.io/api/gitlab/webhook
  3. Token Secret : (fourni par ArchiCore)
  4. Activez : événements Push, événements Merge request

Référence API

Lister les Instances

GET /api/gitlab/instances

Ajouter une Instance

POST /api/gitlab/instances
Content-Type: application/json

{
"instanceUrl": "https://gitlab.entreprise.com",
"accessToken": "glpat-xxxxxxxxxxxx",
"name": "Mon GitLab",
"rejectUnauthorizedSSL": true
}

Lister les Projets

GET /api/gitlab/instances/{instanceId}/projects?search=monprojet

Lister les Branches

GET /api/gitlab/instances/{instanceId}/projects/{projectId}/branches

Connecter un Dépôt

POST /api/gitlab/repositories/connect
Content-Type: application/json

{
"instanceId": "uuid",
"projectId": 123,
"autoAnalyze": true,
"analyzeMRs": true,
"branch": "main"
}

Déconnecter un Dépôt

DELETE /api/gitlab/repositories/{repoId}

Dépannage

"Token invalide"

  • Vérifier l'expiration — Assurez-vous que votre PAT n'a pas expiré
  • Vérifier les scopes — Le token doit avoir les scopes api et read_repository
  • Vérifier l'URL — Pour GitLab auto-hébergé, assurez-vous que l'URL est correcte (incluez https://)
  • Régénérer le token — Si les problèmes persistent, créez un nouveau token avec les bons scopes

"Erreur de certificat SSL"

  • Activez "Autoriser les certificats auto-signés" lors de la connexion
  • Ou ajoutez votre certificat CA au magasin de confiance système

"Webhook ne reçoit pas d'événements"

  • Vérifiez que votre GitLab peut atteindre l'URL du webhook
  • Vérifiez GitLab → Projet → Paramètres → Webhooks → Livraisons récentes
  • Assurez-vous que le secret webhook correspond

"Dépôt non trouvé"

  • Vérifier les scopes du token — Pour les dépôts privés, votre PAT doit avoir le scope api. Le scope read_api seul n'est pas suffisant.
  • Vérifier les permissions du token — Même si vous êtes administrateur ou propriétaire du dépôt, un token mal scopé ne peut pas accéder aux projets privés.
  • Entrer le chemin complet — Lors de la connexion, utilisez le chemin complet du dépôt (ex. groupe/sous-groupe/nom-projet), pas seulement le nom du projet.
  • Vérifier l'archivage — Les dépôts archivés peuvent ne pas apparaître dans les résultats de recherche.
  • Vérifier la bonne instance — Assurez-vous de regarder le bon serveur GitLab (gitlab.com vs auto-hébergé).