GitLab koppelen aan AI: van merge request tot pipeline in één gesprek
GitLab is aan AI te koppelen. IntraGPT werkt binnen het project dat je aanwijst, leest daar issues en merge requests, maakt op verzoek een issue aan en kan een pipeline starten op een branch die je noemt. Draait GitLab in jullie eigen beheer, dan werkt dezelfde koppeling daar ook.
Wat de koppeling in een GitLab-project doet
Issues van het project opzoeken
De agent zoekt issues binnen het project en houdt zich aan wat je vraagt: alleen openstaande, een bepaald label, een milestone of een bepaalde collega. Filteren is geen luxe, want een actief project levert zonder afbakening meer regels op dan iemand leest.
Een issue aanmaken met een streefdatum
Op verzoek legt de agent een issue aan met een titel, een beschrijving, labels, een toegewezen collega, een milestone en een datum waarop het af moet zijn. Daarmee staat een melding compleet in GitLab in plaats van half in een chat en half in iemands hoofd.
Merge requests bekijken
De agent laat zien welke merge requests openstaan, welke van jou zijn en welke op iemand anders wachten. Het antwoord blijft kort genoeg om te lezen, en je kunt doorvragen op één ervan.
Een pipeline starten
De agent kan een pipeline starten op een branch die je noemt, desgewenst met variabelen voor die omgeving. Dat is een echte run die tijd kost en die kan bouwen, testen en uitrollen, dus hij komt er eerst expliciet op terug.
Ook op een GitLab in eigen beheer
Staat GitLab op jullie eigen infrastructuur of alleen binnen jullie netwerk, dan wijs je de koppeling daarnaartoe. Dezelfde mogelijkheden, dezelfde grenzen, alleen een andere plek waar GitLab draait.
Voorbeelden uit de praktijk
E-commerce
- Situatie
- Een webshopteam wil vlak voor een actieweek weten of er nog merge requests openstaan die de afrekenstap raken.
- Wat de agent doet
- De agent haalt de openstaande merge requests met dat label op en zet de titels op een rij.
- Resultaat
- Het team besluit op basis van een lijst in plaats van op gevoel.
Industrie en productie
- Situatie
- Een storing op de werkvloer moet als issue in het juiste project komen, met een datum waarop het opgelost moet zijn.
- Wat de agent doet
- De agent maakt het issue aan met een beschrijving, labels, een toegewezen collega en die datum erbij.
- Resultaat
- De melding staat compleet in GitLab zonder dat de melder zelf hoeft in te loggen.
Release en beheer
- Situatie
- Na een goedgekeurde merge moet de acceptatieomgeving opnieuw gebouwd worden.
- Wat de agent doet
- Op expliciet verzoek start de agent een pipeline op de genoemde branch, met de variabelen die bij die omgeving horen.
- Resultaat
- De bouw loopt, en in het gesprek staat welke branch gestart is en waarom.
Support
- Situatie
- Een klant vraagt of een eerder gemelde fout al in behandeling is.
- Wat de agent doet
- De agent zoekt het issue op label en status en kijkt of er een merge request bij hoort.
- Resultaat
- Een antwoord met het issuenummer erbij, zonder dat er een ontwikkelaar gestoord wordt.
Zo staat het klaar
-
1
Het project verbinden
Je kiest GitLab in IntraGPT en verbindt het project met een toegangstoken dat jullie zelf uitgeven. Draait GitLab in eigen beheer, dan wijs je die omgeving aan in plaats van de publieke.
-
2
Bepalen wat er mag
Lezen, een issue aanmaken en een pipeline starten geef je los van elkaar vrij. Veel teams beginnen met alleen meelezen en breiden dat later uit.
-
3
Pipelines apart vrijgeven
Omdat een pipeline iets in beweging zet, is dat een aparte keuze. Blijft hij uit, dan kan er in de chat om gevraagd worden wat men wil: er gebeurt niets.
-
4
Zichtbaarheid en vastlegging
Je bepaalt welke rollen deze agent zien. Elke handeling, ook een gestarte pipeline, wordt vastgelegd met het moment, de branch en het resultaat.
CI-rechten en wat de agent wel en niet mag
Een CI-systeem kan dingen in beweging zetten die verder gaan dan een regel tekst in een ticket. Daar is de koppeling op ingericht.
Waar de data staat: Nederland
Het token bepaalt de grens
Jullie geven het toegangstoken uit en bepalen wat het mag. Geven jullie er alleen leesrechten mee, dan is een pipeline starten domweg onmogelijk, hoe de vraag in de chat ook geformuleerd wordt.
Een pipeline start nooit vanzelf
Een run begint alleen na een expliciet verzoek, en de agent noemt de branch waarop hij start voordat hij dat doet. Bouwen omdat iets toevallig in een gesprek langskwam gebeurt niet.
Niet elke medewerker ziet deze agent
Je koppelt de GitLab-agent aan de rollen die er iets mee te maken hebben, meestal ontwikkeling en beheer. Voor de rest van de organisatie bestaat hij niet.
Eigen server, geen training
Het taalmodel draait op een eigen server in Nederland. Issueteksten en branchnamen uit jullie project gaan niet naar een Amerikaanse modelaanbieder en worden nergens voor training gebruikt.
Vragen over GitLab en IntraGPT
Werkt IntraGPT met GitLab?
Ja. GitLab zit in de connectorcatalogus. De agent zoekt issues op, maakt er een aan, bekijkt merge requests en kan een pipeline starten, allemaal binnen het project dat jullie aanwijzen.
Werkt het ook met een GitLab die we zelf hosten?
Ja. Bij het koppelen wijs je aan waar jullie GitLab draait, en dat mag ook een omgeving zijn die alleen binnen jullie netwerk bereikbaar is. De mogelijkheden blijven dezelfde en de rechten hangen nog steeds aan het token dat jullie uitgeven.
Kan ik GitLab koppelen aan ChatGPT?
ChatGPT heeft geen verbinding met jullie GitLab, en al helemaal niet met een instantie die alleen intern bereikbaar is. IntraGPT geeft dezelfde manier van vragen, maar dan met een koppeling die binnen één project blijft, met een token waarvan jullie de reikwijdte bepalen en met vastlegging van elke handeling.
Kan de agent iets naar productie zetten?
Alleen indirect, en alleen als jullie pipelines dat doen. Het starten van een pipeline zet een run in gang op een branch; wat die run vervolgens uitvoert, hebben jullie zelf ingericht. Rolt hij uit naar productie, dan gebeurt dat ook als de agent hem start. Daarom vraagt de agent er expliciet om en noemt hij de branch erbij.
Kan de agent zien wat er in de code staat?
Nee. De koppeling gaat over issues, merge requests en pipelines, niet over de inhoud van bestanden in de repository. De agent leest dus wat er over het werk is opgeschreven, niet de broncode zelf.
Wat is het verschil met de GitHub-koppeling?
De leeskant lijkt op elkaar, maar GitLab heeft het starten van een pipeline erbij en werkt met merge requests in plaats van pull requests. Daar staat tegenover dat de GitHub-koppeling onder een issue kan reageren. Gebruiken jullie beide platformen, dan kunnen de koppelingen naast elkaar staan; elk zit vast aan zijn eigen project of repository.
Wat kost een GitLab-koppeling?
Het koppelen zit in het traject dat we samen doorlopen. De omvang hangt af van het aantal projecten, de rechten op het token en of de agent ook mag schrijven of bouwen. Dat leggen we naast elkaar in een gesprek van dertig minuten.
Hoe lang duurt het inrichten?
Met een token en een aangewezen project is de koppeling binnen minuten actief. De doorlooptijd zit in de interne afweging hoeveel dat token mag en wie er een pipeline mag laten starten.