Hoe agents communiceren met GitHub API's en werkstromen
AI-agents veranderen hoe ontwikkelwerkzaamheden worden uitgevoerd. In plaats van handmatig door opslagplaatsen te navigeren, code te schrijven en opdrachten uit te voeren, kunnen agents rechtstreeks binnen GitHub werken om taken van begin tot eind te voltooien.
GitHub ondersteunt agentgestuurd werken via meerdere lagen. Agents kunnen GitHub API's gebruiken om de staat van de opslagplaats te lezen en acties uit te voeren, GitHub Actions-werkstromen gebruiken om automatisering in gecontroleerde uitvoerders uit te voeren, en GitHub Agentic Workflows om opslagplaatstaken op een hoger niveau in Markdown te beschrijven en ze uit te voeren met coderingsagenten onder strenge richtlijnen. In plaats van GitHub te omzeilen, werken agents via dezelfde systemen die ontwikkelaars gebruiken, zoals vertakkingen, pull-aanvragen, problemen en automatisering.
In deze les leert u het volgende:
- Hoe agents communiceren met GitHub via API's
- Hoe agents werkstromen gebruiken als uitvoeringsomgevingen
- Hoe wijzigingen in de opslagplaats worden gemaakt en beheerd
- Hoe een volledig agent-uitvoeringsproces eruitziet op GitHub
Hoe agents communiceren met GitHub
GitHub agents, zoals Copilot cloudagent, werken binnen een gedefinieerde opslagplaats en vertakkingscontext. Wanneer u een taak toewijst, bijvoorbeeld via een probleem of prompt, begint de agent in die opslagplaats te werken.
Agents kunnen:
- De opslagplaats onderzoeken en begrijpen
- Wijzigingen plannen die nodig zijn voor het voltooien van een taak.
- Codewijzigingen aanbrengen in een nieuwe vertakking
- Een pull-aanvraag openen voor beoordeling
Agents voeren deze acties uit met behulp van GitHub platformmogelijkheden, zoals API's en werkstromen.
Deze acties kunnen worden geactiveerd door opslagplaatsgebeurtenissen (zoals push- of pull-aanvragen), worden uitgevoerd volgens een planning of worden georganiseerd via agentische werkstromen die de taken van de opslagplaats in de loop van de tijd continu automatiseren.
GitHub API's gebruiken om acties uit te voeren
GitHub biedt API's waarmee systemen programmatisch kunnen communiceren met opslagplaatsen.
De API's maken acties mogelijk zoals:
- Vertakkingen en commits maken
- Opslagplaatsgegevens lezen
- Pull-aanvragen openen en bijwerken
- Werkstromen activeren
Alle API-aanvragen moeten worden geverifieerd met tokens zoals persoonlijke toegangstokens, GitHub app-tokens of de GITHUB_TOKEN die in werkstromen worden verstrekt.
Dit zorgt ervoor dat elke actie die een agent uitvoert, door machtigingen wordt beheerd en gecontroleerd.
Hoe agents wijzigingen in een opslagplaats maken
Wanneer een agent wijzigingen aanbrengt, volgt deze dezelfde werkstroom als een ontwikkelaar. Een typische reeks ziet er als volgt uit:
- Een basisbranch selecteren
- Een nieuwe werkbranch maken
- Bestanden wijzigen of maken
- Wijzigingen doorvoeren
- Een pull-aanvraag openen
Er zijn afzonderlijke API-bewerkingen voor elk van deze stappen, waaronder het werken met Git-verwijzingen, de inhoud van de opslagplaats en pull-aanvragen.
Dit betekent dat agentacties volledig zijn afgestemd op het standaardontwikkelingsmodel van GitHub.
GitHub Actions gebruiken als de uitvoeringslaag
Agents voeren taken niet rechtstreeks op uw computer uit. In plaats daarvan biedt GitHub uitvoeringsomgevingen via werkstromen die worden aangedreven door GitHub Actions.
Een werkstroom is een YAML-gedefinieerd proces waarmee taken worden uitgevoerd als reactie op gebeurtenissen.
Agents zijn afhankelijk van deze werkstromen voor:
- Tests uitvoeren
- Wijzigingen valideren
- Automatiseringstaken uitvoeren
- Toepassingen implementeren
Copilot cloudagent werkt in een omgeving met GitHub Actions, wat betekent dat werkstromen de basis vormen van agentuitvoering.
Traditionele werkstromen versus agentische werkstromen
Traditionele GitHub Actions werkstromen zijn meestal deterministisch en YAML-gedefinieerd: u geeft elke stap, trigger en voorwaarde expliciet op. GitHub Agentische werkstromen voegen een ander model toe voor automatisering van opslagplaatsen. Hiermee kunt u het gewenste resultaat in Markdown beschrijven, kaders definiëren in frontmatter en die intentie uitvoeren met behulp van een coderingsagent in GitHub Actions. Ze zijn het meest geschikt voor open maar gebonden repository taken, zoals triage, rapportage, documentatieonderhoud, analyse van CI-fouten en codeverbetering. Ze vervangen geen CI/CD-pijplijnen; ze uitbreiden met wat GitHub beschrijft als 'Continue AI'.
Wat maakt een agentische werkstroom anders
Een GitHub Agentic Workflow heeft twee hoofdonderdelen:
- Frontmatter voor configuratie, zoals triggers, machtigingen, hulpprogramma's en veilige uitvoer
- Markdown-instructies die de taak in natuurlijke taal beschrijven
De Markdown drukt de intentie uit, terwijl de frontmatter de grenzen definieert. De werkstroom wordt vervolgens gecompileerd in een vergrendelingsbestand die door GitHub Actions wordt uitgevoerd.
on: schedule: daily
permissions: contents: read issues: read pull-requests: read
safe-outputs: create-issue: title-prefix: "[repo-status] " labels: [report]
tools: github:
Daily Repository Status Report
Create a daily report for maintainers.
Include:
Recent activity (issues, PRs, commits)
Key highlights and risks
Recommended next steps
Keep the report concise and link to relevant issues and pull requests.
In dit voorbeeld definieert de frontmatter (tussen ---) hoe en wanneer het werkproces wordt uitgevoerd, waartoe het toegang heeft en welke acties zijn toegestaan.
In de onderstaande Markdown wordt de intentie van de werkstroom in natuurlijke taal gedefinieerd. Een agent interpreteert deze intentie en produceert gestructureerde uitvoer, die vervolgens worden toegepast via gecontroleerde, controleerbare stappen.
In tegenstelling tot traditionele GitHub Actions werkstromen, die elke stap expliciet definiëren, richten agentische werkstromen zich op het beschrijven van resultaten. De agent bepaalt hoe het doel wordt bereikt binnen de beperkingen die in de frontmatter zijn gedefinieerd.
Werkstromen activeren en ermee werken
Werkstromen kunnen op meerdere manieren worden geactiveerd:
- Automatisch via gebeurtenissen zoals push- of pull-aanvraag
- Handmatig de workflow_dispatch-gebeurtenis gebruiken
- Programmatisch via de GitHub-API
Agents kunnen afhankelijk zijn van deze triggers om taken uit te voeren of wijzigingen te valideren nadat ze updates hebben aangebracht in een opslagplaats.
Elke werkstroomuitvoering voert taken uit in geïsoleerde omgevingen en zorgt voor consistente en veilige uitvoering.
Wat gebeurt er tijdens een agentsessie?
Agentsessies zijn waarneembaar en interactief.
Tijdens een sessie kunt u het volgende doen:
- Voortgang bewaken via een sessielogboek
- Bekijken welke acties de agent uitvoert
- Feedback geven of de taak aanpassen
- De uiteindelijke pull-aanvraag controleren
De agent wordt aangepast op basis van feedback en blijft werken totdat de taak is voltooid.
End-to-end agent-uitvoeringsstroom
Als u alles samenbrengt, ziet een typische interactie met GitHub er als volgt uit:
- Een taak wordt toegewezen via een probleem, chat of CLI
- De agent selecteert de opslagplaats en de basisbranch
- De agent analyseert de codebasis en plant wijzigingen.
- API-bewerkingen worden gebruikt om vertakkingen en doorvoeringen te maken
- Er wordt een pull-aanvraag geopend
- Werkstromen worden uitgevoerd om wijzigingen te valideren of te implementeren
- De gebruiker beoordeelt, keurt goed of vraagt updates aan
Deze stroom zorgt ervoor dat alle agentactiviteit:
- Bereik van een opslagplaats
- Beheerd door machtigingen
- Uitgevoerd via werkstromen
- Zichtbaar en controleerbaar
Belangrijkste bevinding
Agents op GitHub werken niet buiten het platform. Ze communiceren via API's, werkstromen en opslagplaatsstructuren die machtigingen afdwingen, uitvoeringsomgevingen bieden en samenwerking mogelijk maken via pull-aanvragen.
Vervolgens leert u hoe McP (Model Context Protocol) deze mogelijkheden uitbreidt door agents in staat te stellen verbinding te maken met extra hulpprogramma's en services buiten GitHub.