Udvikling

Forbinde GitHub til en autonom AI-agent

En Atako-agent kan læse jeres issues, åbne pull requests og overvåge jeres CI-workflows på GitHub, med adgang begrænset til kun de handlinger, I giver den.

Skrevet af Atakos agenter · Gennemlæst og godkendt af Romain Laodicina · CTO hos Atako

Mulige workflows

Automatisk triage af indkommende issues

Agenten lister et repositorys nye issues (list_issues) og klassificerer dem efter type og hastegrad ud fra titel og indhold. Den opretter manglende labels ved behov (create_label) og anvender dem derefter (update_issue). Når en central information mangler, reproduktion, version, miljø, kommenterer den på issuen (add_issue_comment) for at bede forfatteren om den, og eskalerer først sagen til et menneske, hvis svaret udebliver.

Åbning af pull requests til mindre rettelser

Ved en forældet dependency, en tastefejl eller en konfigurationsfil, der skal rettes, opretter agenten en branch (create_branch), ændrer de berørte filer (create_or_update_file) og åbner derefter pull requesten (create_pull_request). Den beder dernæst om en menneskelig review (create_review_request) og stopper der: i denne type flow udløses en merge aldrig uden en eksplicit godkendelse fra en person i teamet, selv hvis de automatiske tjek er grønne.

Opfølgning på CI-kørsler og forberedelse af releases

Agenten overvåger kørsler af GitHub Actions-workflows (list_workflow_runs, get_workflow_run) og henter logs ved fejl (get_job_logs_download_url) for at forstå årsagen, inden den advarer. Den tjekker derefter allerede udgivne releases (list_releases) og, når alle tjek er grønne, forbereder den næste release (create_release) med versionsnoter klar til menneskelig godkendelse før nogen offentliggørelse.

Connectorens handlinger

  • list_issues (læsning)

    Lister et repositorys åbne issues.

  • get_pull_request (læsning)

    Se detaljerne for en pull request.

  • list_workflow_runs (læsning)

    Lister de seneste kørsler af Actions-workflows.

  • get_workflow_run (læsning)

    Se detaljerne for en workflow-kørsel.

  • get_job_logs_download_url (læsning)

    Hente URL'en til logs for et job.

  • list_releases (læsning)

    Lister allerede udgivne releases.

  • create_label (skrivning)

    Oprette et nyt label på repositoryet.

  • update_issue (skrivning)

    Ændre en issue: labels, status, tildeling.

  • add_issue_comment (skrivning)

    Tilføje en kommentar til en issue.

  • create_branch (skrivning)

    Oprette en branch ud fra en reference.

  • create_or_update_file (skrivning)

    Oprette eller ændre en fil, med commit-besked.

  • create_pull_request (skrivning)

    Åbne en pull request fra én branch til en anden.

  • create_review_request (skrivning)

    Bede en eller flere personer om en review.

  • create_release (skrivning)

    Udgive en release med tag og noter.

Forudsætninger

  • En GitHub-konto med skriveadgang til de relevante repositories.
  • Et fine-grained token genereret fra Settings, Developer settings, Personal access tokens.
  • Tilladelserne Contents, Issues og Pull requests i Read and write, Actions i Read.
  • Tokenet indsat i Atako, fra Indstillinger, Integrationer.
  • Et eksplicit grant: agent, forbindelse, præcise handlinger og omfang.

Sådan forbinder du

  1. 1

    Generer det fine-grained token på GitHub

    Settings, Developer settings, Personal access tokens, Fine-grained tokens, Generate new token. Markér Contents, Issues, Pull requests i skrivning og Actions i læsning, kopiér derefter det viste token.

  2. 2

    Forbind tokenet i Atako

    Indsæt tokenet i Indstillinger, Integrationer. Forbindelsen bliver tilgængelig for alle jeres agenter.

  3. 3

    Giv agenten et grant

    Fra agentens side vælger I de præcise GitHub-handlinger og deres omfang. Som standard deny-by-default: intet er tilgængeligt.

  4. 4

    Igangsæt det første scenarie

    Afhængigt af det tildelte grant lister agenten issues, åbner en pull request eller overvåger en CI-kørsel, og advarer, hvis en menneskelig beslutning er påkrævet.

Hvorfor forbinde en autonom agent til GitHub

GitHub samler koden, issues, pull requests og CI-pipelines for et teknisk team. Det er naturligt terræn for en autonom AI-agent, sådan som Atako forstår begrebet: den kører kontinuerligt i sit eget miljø og vælger selv sin retning, uden at vente på udløseren fra et klassisk automatiseringsværktøj.

Agenten handler via præcise handlinger som list_issues, create_pull_request eller get_workflow_run. Det er princippet bag tool calling: connectoren stiller et katalog af reelle handlinger til rådighed, og agenten kalder dem, der er relevante, uden nogensinde at overskride det, den er blevet tildelt. I et scenarie med CI-hændelsestriage overvåger den kørsler, krydstjekker fejllogs og åbner en dokumenteret issue, før et menneske opdager problemet.

En agent, der kører hele natten, behandler issues løbende og forbereder pull requests, så snart en rettelse er identificeret. Se priserne for at placere omkostningen ud fra antallet af agenter og aktive forbindelser.

Grænser og god praksis

GitHub-adgangen fungerer efter deny-by-default: ingen af de 37 tilgængelige handlinger er aktive, før et eksplicit grant tildeler dem, handling for handling, i kun læsning eller skrivning. Det er denne mekanisme, ikke tilliden til agenten, der afgrænser, hvad den kan gøre. Menneskelig kontrol forbliver det rigtige greb på følsomme handlinger: behold create_review_request som godkendelsestrin før enhver merge.

Et autentificeret token er begrænset til 5.000 forespørgsler i timen ifølge GitHubs officielle API-dokumentation, rigeligt til normal brug, men noget at holde øje med, hvis flere agenter deler samme token på et meget aktivt repository.

Ud over denne klassiske integration tilbyder Atako også en intern funktion kaldet Code, som lader en agent undersøge eller ændre et repository mere direkte. Det er ikke emnet for denne side, men det er et nyttigt supplement, hvis jeres behov rækker ud over issue-triage og åbning af pull requests.

Relaterede use cases

Relaterede integrationer

Ofte stillede spørgsmål

Kan agenten selv merge en pull request på GitHub?

Handlingen merge_pull_request findes og kan teknisk set tildeles en agent. Atako anbefaler at forbeholde den og beholde create_review_request som et menneskeligt godkendelsespunkt før enhver merge af kode.

Kræver det en betalt GitHub-plan at forbinde integrationen?

Nej, en gratis konto er nok, så længe I har skriveadgang til de repositories, tokenet dækker. Faktureringen afhænger udelukkende af jeres Atako-abonnement, ikke af GitHub.

Hvordan tilbagekaldes agentens adgang til GitHub?

Slet grantet fra agentens side i Atako, eller tilbagekald tokenet i GitHub, Settings, Developer settings, Personal access tokens. Adgangen afbrydes øjeblikkeligt i begge tilfælde.

Læs næste

Kilder

Romain Laodicina

CTO hos Atako

Dette indhold er skrevet af Atakos AI-agenter og derefter gennemlæst, rettet og godkendt af Romain Laodicina, CTO for Atako.

Implementer dine første AI-agenter

Opret din konto gratis, og start en agent på få minutter, uden kode.

Hold dig foran AI-udviklingen.

Få produktnyheder, nye agenter og AI-analyser direkte i din indbakke. Ingen spam, afmeld når som helst.