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
- Allez dans votre GitLab → Paramètres → Tokens d'Accès
- Créez un nouveau token avec ces scopes requis :
api— Requis pour l'accès API complet (dépôts privés, webhooks, commentaires MR)read_repository— Requis pour lire le contenu du dépôt
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.
- Copiez le token (vous ne le verrez plus !)
Étape 2 : Connecter l'Instance GitLab
Via l'Interface Web :
- Allez dans ArchiCore → Paramètres → Intégrations
- Cliquez sur Ajouter GitLab
- Entrez votre URL GitLab (ex.
https://gitlab.comouhttps://gitlab.entreprise.com) - Collez votre Token d'Accès Personnel
- 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
- Après avoir connecté votre instance GitLab, cliquez sur Ajouter Projet
- Sélectionnez l'instance GitLab
- Recherchez votre dépôt
- Sélectionnez une branche
- 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é :
- Lors de la connexion, activez "Autoriser les certificats auto-signés"
- Ou définissez
rejectUnauthorizedSSL: falsedans 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 :
- Allez dans votre projet GitLab → Paramètres → Webhooks
- Ajoutez l'URL :
https://api.archicore.io/api/gitlab/webhook - Token Secret : (fourni par ArchiCore)
- 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
apietread_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 scoperead_apiseul 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é).