Connecter GitLab à l'IA : du merge request au pipeline en une conversation
GitLab peut être connecté à l'IA. IntraGPT travaille dans le projet que vous désignez, y lit les issues et les merge requests, crée une issue sur demande et peut lancer un pipeline sur une branche que vous nommez. Si GitLab tourne sous votre propre gestion, le même connecteur y fonctionne aussi.
Ce que le connecteur fait dans un projet GitLab
Rechercher les issues du projet
L'agent recherche les issues dans le projet en s'en tenant à votre demande : seulement les ouvertes, un label donné, un jalon ou une personne précise. Filtrer n'est pas un luxe, car sans cadre un projet actif renvoie plus de lignes que personne n'en lit.
Créer une issue avec une date cible
Sur demande, l'agent crée une issue avec un titre, une description, des labels, une personne assignée, un jalon et une date à laquelle ce doit être terminé. Le signalement se trouve alors complet dans GitLab, plutôt qu'à moitié dans un chat et à moitié dans la tête de quelqu'un.
Consulter les merge requests
L'agent montre quels merge requests sont ouverts, lesquels sont les vôtres et lesquels attendent quelqu'un d'autre. La réponse reste assez courte pour être lue, et vous pouvez creuser l'un d'entre eux.
Lancer un pipeline
L'agent peut lancer un pipeline sur une branche que vous nommez, avec au besoin des variables propres à cet environnement. C'est une exécution réelle qui prend du temps et qui peut construire, tester et déployer, il revient donc d'abord vers vous de façon explicite.
Aussi sur un GitLab que vous gérez
Si GitLab tourne sur votre propre infrastructure ou uniquement dans votre réseau, vous y dirigez le connecteur. Mêmes possibilités, mêmes limites, seul l'endroit où se trouve GitLab change.
Exemples tirés de la pratique
E-commerce
- Situation
- Juste avant une semaine promotionnelle, une équipe boutique veut savoir s'il reste des merge requests ouverts touchant au paiement.
- Ce que fait l’agent
- L'agent récupère les merge requests ouverts portant ce label et en aligne les titres.
- Résultat
- L'équipe décide sur la base d'une liste plutôt qu'au ressenti.
Industrie et production
- Situation
- Une panne en atelier doit arriver comme issue dans le bon projet, avec une date de résolution.
- Ce que fait l’agent
- L'agent crée l'issue avec une description, des labels, un collègue assigné et cette date.
- Résultat
- Le signalement est complet dans GitLab sans que celui qui le remonte doive se connecter.
Mise en production
- Situation
- Après une fusion approuvée, l'environnement de recette doit être reconstruit.
- Ce que fait l’agent
- Sur demande explicite, l'agent lance un pipeline sur la branche nommée, avec les variables de cet environnement.
- Résultat
- La construction tourne, et la conversation garde trace de la branche lancée et du motif.
Support
- Situation
- Un client demande si un défaut signalé plus tôt est en cours de traitement.
- Ce que fait l’agent
- L'agent retrouve l'issue par label et par statut et regarde si un merge request y est rattaché.
- Résultat
- Une réponse avec le numéro d'issue, sans déranger un développeur.
Comment cela se met en place
-
1
Relier le projet
Vous choisissez GitLab dans IntraGPT et reliez le projet avec un jeton d'accès que vous délivrez vous-même. Si GitLab est sous votre gestion, vous désignez cet environnement au lieu du public.
-
2
Définir ce qui est permis
La lecture, la création d'une issue et le lancement d'un pipeline s'ouvrent séparément. Beaucoup d'équipes commencent par la lecture seule et élargissent ensuite.
-
3
Ouvrir les pipelines sciemment
Comme un pipeline met quelque chose en mouvement, c'est un choix à part. S'il reste fermé, on peut le demander dans le chat autant qu'on veut : rien ne se passe.
-
4
Visibilité et traçabilité
Vous décidez quels rôles voient cet agent. Chaque action, y compris un pipeline lancé, est consignée avec le moment, la branche et le résultat.
Droits sur la CI et limites de l'agent
Un système de CI peut mettre en mouvement bien plus qu'une ligne de texte dans un ticket. Le connecteur est conçu pour cela.
Où résident les données: France
Le jeton pose la limite
Vous délivrez le jeton d'accès et décidez de ce qu'il autorise. S'il ne donne que la lecture, lancer un pipeline est tout simplement impossible, quelle que soit la formulation de la demande dans le chat.
Un pipeline ne part jamais tout seul
Une exécution ne démarre qu'après une demande explicite, et l'agent nomme la branche avant de la lancer. Rien n'est construit parce qu'un sujet a traversé une conversation.
Tout le monde ne voit pas cet agent
Vous rattachez l'agent GitLab aux rôles concernés, généralement le développement et l'exploitation. Pour le reste de l'organisation, il n'existe pas.
Serveur dédié, aucun entraînement
Le modèle de langage tourne sur un serveur en France. Les textes des issues et les noms de branches de votre projet ne partent pas vers un fournisseur de modèle américain et ne servent nulle part à l'entraînement.
Questions sur GitLab et IntraGPT
IntraGPT fonctionne-t-il avec GitLab ?
Oui. GitLab figure dans le catalogue de connecteurs. L'agent recherche les issues, en crée une, consulte les merge requests et peut lancer un pipeline, toujours dans le projet que vous désignez.
Cela fonctionne-t-il avec un GitLab que nous hébergeons ?
Oui. Au moment de la connexion, vous indiquez où tourne votre GitLab, et ce peut être un environnement accessible uniquement depuis votre réseau. Les possibilités restent les mêmes et les droits dépendent toujours du jeton que vous délivrez.
Puis-je connecter GitLab à ChatGPT ?
ChatGPT n'a aucune connexion à votre GitLab, encore moins à une instance accessible seulement en interne. IntraGPT offre la même façon de demander, mais avec un connecteur qui reste dans un seul projet, un jeton dont vous fixez la portée et une trace de chaque action.
L'agent peut-il mettre quelque chose en production ?
Seulement de façon indirecte, et seulement si vos pipelines le font. Lancer un pipeline met une exécution en route sur une branche ; ce que cette exécution accomplit ensuite, c'est vous qui l'avez configuré. Si elle déploie en production, cela se produit aussi quand l'agent la lance. D'où la demande explicite et la branche nommée.
L'agent voit-il le contenu du code ?
Non. Le connecteur porte sur les issues, les merge requests et les pipelines, pas sur le contenu des fichiers du dépôt. L'agent lit donc ce qui a été écrit à propos du travail, pas le code source lui-même.
Quelle différence avec le connecteur GitHub ?
Le côté lecture se ressemble, mais GitLab ajoute le lancement d'un pipeline et parle de merge requests plutôt que de pull requests. En échange, le connecteur GitHub peut commenter sous une issue. Si vous utilisez les deux plateformes, les connecteurs coexistent sans problème : chacun reste attaché à son projet ou à son dépôt.
Combien coûte un connecteur GitLab ?
La connexion fait partie du projet mené ensemble. L'ampleur dépend du nombre de projets, des droits du jeton et de la possibilité donnée à l'agent d'écrire ou de construire. Nous mettons tout cela à plat lors d'un entretien de trente minutes.
Combien de temps prend la mise en place ?
Avec un jeton et un projet désigné, le connecteur est actif en quelques minutes. Le délai tient à l'arbitrage interne : jusqu'où va ce jeton et qui peut faire lancer un pipeline.