Ontwikkeling

GitHub koppelen aan een autonome AI-agent

Een Atako-agent kan uw issues lezen, pull requests openen en uw CI-workflows bewaken op GitHub, met toegang die beperkt is tot de acties die u hem toekent.

Geschreven door de Atako-agents · Nagelezen en goedgekeurd door Romain Laodicina · CTO bij Atako

Mogelijke workflows

Automatische triage van binnenkomende issues

De agent haalt de nieuwe issues van een repository op (list_issues) en classificeert ze op type en urgentie op basis van titel en inhoud. Hij maakt ontbrekende labels aan indien nodig (create_label) en past ze vervolgens toe (update_issue). Ontbreekt er cruciale informatie, reproductie, versie, omgeving, dan plaatst hij een reactie op de issue (add_issue_comment) om die bij de auteur op te vragen, en escaleert hij het geval pas naar een mens als er geen reactie komt.

Pull requests openen voor kleine correcties

Bij een verouderde dependency, een typefout of een configuratiebestand dat gecorrigeerd moet worden, maakt de agent een branch aan (create_branch), wijzigt hij de betrokken bestanden (create_or_update_file) en opent hij vervolgens de pull request (create_pull_request). Daarna vraagt hij om een menselijke review (create_review_request) en stopt hij daar: bij dit type flow wordt nooit een merge geactiveerd zonder expliciete goedkeuring van iemand van het team, zelfs als de automatische checks groen zijn.

Opvolging van CI-runs en voorbereiding van releases

De agent bewaakt de uitvoeringen van GitHub Actions-workflows (list_workflow_runs, get_workflow_run) en haalt bij een mislukking de logs op (get_job_logs_download_url) om de oorzaak te begrijpen voordat hij alarm slaat. Vervolgens raadpleegt hij de reeds gepubliceerde releases (list_releases) en, zodra alle checks groen zijn, bereidt hij de volgende release voor (create_release) met releasenotes die klaarstaan om door een mens te worden gevalideerd voor elke publicatie.

Acties van de connector

  • list_issues (lezen)

    Open issues van een repository weergeven.

  • get_pull_request (lezen)

    Details van een pull request raadplegen.

  • list_workflow_runs (lezen)

    Recente uitvoeringen van Actions-workflows weergeven.

  • get_workflow_run (lezen)

    Details van een workflow-uitvoering raadplegen.

  • get_job_logs_download_url (lezen)

    URL van de logs van een job ophalen.

  • list_releases (lezen)

    Reeds gepubliceerde releases weergeven.

  • create_label (schrijven)

    Een nieuw label aanmaken op de repository.

  • update_issue (schrijven)

    Een issue wijzigen: labels, status, toewijzing.

  • add_issue_comment (schrijven)

    Een reactie toevoegen aan een issue.

  • create_branch (schrijven)

    Een branch aanmaken vanaf een referentie.

  • create_or_update_file (schrijven)

    Een bestand aanmaken of wijzigen, met commitbericht.

  • create_pull_request (schrijven)

    Een pull request openen van de ene branch naar de andere.

  • create_review_request (schrijven)

    Een review aanvragen bij een of meer personen.

  • create_release (schrijven)

    Een release publiceren met tag en notes.

Vereisten

  • Een GitHub-account met schrijftoegang tot de beoogde repositories.
  • Een fine-grained token gegenereerd via Settings, Developer settings, Personal access tokens.
  • Permissies Contents, Issues en Pull requests op Read and write, Actions op Read.
  • Het token geplakt in Atako, via Instellingen, Integraties.
  • Een expliciete grant: agent, verbinding, precieze acties en reikwijdte.

Hoe te verbinden

  1. 1

    Het fine-grained token genereren op GitHub

    Settings, Developer settings, Personal access tokens, Fine-grained tokens, Generate new token. Vink Contents, Issues, Pull requests aan op schrijven en Actions op lezen, en kopieer daarna het getoonde token.

  2. 2

    Het token koppelen in Atako

    Plak het token in Instellingen, Integraties. De verbinding wordt beschikbaar voor al uw agents.

  3. 3

    Een grant toekennen aan de agent

    Kies vanaf de agentpagina de precieze GitHub-acties en hun reikwijdte. Standaard geldt deny-by-default: niets is toegankelijk.

  4. 4

    Het eerste scenario starten

    Afhankelijk van de toegekende grant haalt de agent issues op, opent hij een pull request of bewaakt hij een CI-run, en waarschuwt hij wanneer een menselijke beslissing nodig is.

Waarom een autonome agent op GitHub aansluiten

GitHub bundelt de code, issues, pull requests en CI-pipelines van een technisch team. Dat is een natuurlijk terrein voor een autonome AI-agent zoals Atako die opvat: hij draait continu in zijn eigen omgeving en kiest zijn eigen route, zonder te wachten op de trigger van een klassieke automatiseringstool.

De agent handelt via precieze acties zoals list_issues, create_pull_request of get_workflow_run. Dat is het principe van tool calling: de connector stelt een catalogus van echte acties beschikbaar, en de agent roept degene aan die relevant zijn, zonder ooit verder te gaan dan wat hem is toegekend. Bij een scenario voor CI-incidenttriage bewaakt hij de runs, kruist hij de foutlogs en opent hij een gedocumenteerde issue voordat een mens het probleem ontdekt.

Een agent die de hele nacht draait, verwerkt issues doorlopend en bereidt pull requests voor zodra een correctie is geïdentificeerd. Zie de tarieven om de kosten te bepalen op basis van het aantal agents en actieve verbindingen.

Grenzen en aanbevolen aanpak

Toegang tot GitHub werkt volgens deny-by-default: geen van de 37 beschikbare acties is actief zolang een expliciete grant dat niet toestaat, actie voor actie, in alleen-lezen of schrijfmodus. Dat mechanisme, niet het vertrouwen in de agent, bepaalt wat hij mag doen. Menselijke controle blijft de juiste reflex bij gevoelige acties: houd create_review_request aan als validatiestap voor elke merge.

Een geauthenticeerd token is volgens de officiële documentatie van de GitHub API beperkt tot 5.000 aanvragen per uur, ruim voldoende voor normaal gebruik, maar iets om in de gaten te houden als meerdere agents hetzelfde token delen op een zeer actieve repository.

Naast deze klassieke integratie biedt Atako ook een interne functie genaamd Code, waarmee een agent een repository directer kan onderzoeken of wijzigen. Dat is niet het onderwerp van deze pagina, maar het is een nuttige aanvulling als uw behoeften verder gaan dan issue-triage en het openen van pull requests.

Gerelateerde use cases

Vergelijkbare integraties

Veelgestelde vragen

Kan de agent zelfstandig een pull request mergen op GitHub?

De actie merge_pull_request bestaat en kan technisch aan een agent worden toegekend. Atako raadt aan die te reserveren en create_review_request te behouden als menselijk validatiepunt voor elke code-merge.

Is een betaald GitHub-plan nodig om de integratie te koppelen?

Nee, een gratis account volstaat zolang u schrijftoegang heeft tot de repositories waarop het token betrekking heeft. De facturatie hangt uitsluitend af van uw Atako-abonnement, niet van GitHub.

Hoe trekt u de toegang van de agent tot GitHub in?

Verwijder de grant vanaf de agentpagina in Atako, of trek het token in bij GitHub, Settings, Developer settings, Personal access tokens. In beide gevallen wordt de toegang onmiddellijk afgesloten.

Wat hierna te lezen

Bronnen

Romain Laodicina

CTO bij Atako

Deze inhoud is geschreven door de AI-agents van Atako en vervolgens nagelezen, gecorrigeerd en goedgekeurd door Romain Laodicina, CTO van Atako.

Implementeer uw eerste AI-agenten

Maak gratis een account aan en lanceer een agent in enkele minuten, zonder code.

Blijf voorop lopen op het gebied van AI.

Ontvang productnieuws, nieuwe agenten en onze AI-analyses rechtstreeks in uw mailbox. Geen spam, u kunt zich op elk moment uitschrijven.