GitHub-integratie instellen
Deze gids behandelt de GitHub-specifieke delen van de installatie. GitHub is een van de drie ondersteunde codehosts — zie Een codehost verbinden voor het verbinden van GitLab of Bitbucket, en voor hoe één werkruimte ze door elkaar gebruikt.
Vereisten
Sectie getiteld “Vereisten”- Een GitHub-account met toegang tot de repo’s waaraan je wilt werken
- Ofwel een GitHub App die voor je server is geregistreerd (zie
De GitHub App maken) zodat je kunt inloggen,
of een persoonlijk toegangstoken met
repoenread:orgom te plakken
Inloggen met GitHub
Sectie getiteld “Inloggen met GitHub”Een device flow: GitHub toont je een korte code, je keurt die goed op github.com, en de server ontvangt het inloggegeven — geen callback-URL, geen poort, niets om open te stellen. Beschikbaar zodra de server een client-id heeft, die een officiële build al meelevert.
- Ga naar Instellingen → Werkruimte → Profiel en identiteit → Codehosting (of de eerste stap van de onboarding)
- Klik in de rij GitHub op Inloggen met GitHub
- Een dialoogvenster toont een code van acht tekens en opent github.com/login/device in je browser. De code staat al op je klembord
- Plak hem, keur de app goed en kom terug. De rij verandert vanzelf in “Ingelogd als your-username”
Het dialoogvenster mag je sluiten terwijl je in de browser afrondt — de server blijft pollen tot de code verloopt (ongeveer 15 minuten), dus de aanmelding komt alsnog binnen.
Of plak een token
Sectie getiteld “Of plak een token”De terugvaloptie wanneer de server geen app heeft, wanneer de app niet is geïnstalleerd op een account dat je nodig hebt, of wanneer je gewoon liever een PAT gebruikt.
- Ga naar Instellingen → Werkruimte → Profiel en identiteit → Codehosting
- Klik in de rij GitHub op Token toevoegen
- Plak een token met
repoenread:org(classic) en sla op. Een fine-grained token heeft repository Contents en Pull requests (read and write) nodig, plus Checks en Actions (read).
Het token wordt getest zoals het is opgeslagen, zodat de rij het account kan noemen waartoe het hoort. Klik op Loskoppelen om het te verwijderen.
Controlepunt: in de rij GitHub staat “Ingelogd als your-username”. Een achtervoegsel noemt de bron wanneer het inloggegeven dat antwoordt niet het jouwe is — “via de app van deze server” of “uit de omgeving”.
Wat de integratie je oplevert
Sectie getiteld “Wat de integratie je oplevert”| Functie | Hoe |
|---|---|
| PR-lijst en -detail | De GitHub REST API, vanaf de server, op de app-identiteit of je eigen inloggegeven |
| Check-runs | De GitHub Checks API |
| Review publiceren | Een door de gebruiker gestarte stap die je review naar de PR plaatst |
| Reporegistratie | Een checkout wordt geaccepteerd als zijn origin-remote naar github.com wijst — of naar gitlab.com / bitbucket.org |
| GitHub-toegang voor agenten | De inloggegevensbroker injecteert een token met alleen leesrechten als GH_TOKEN / GITHUB_TOKEN; pushes lopen via Control Center |
| Meldingspings | Een poll aan de serverkant van je GitHub-meldingspostvak levert “Vermeld in een pull request” en “Review aangevraagd” op |
| Gebruikersprofielen | Profielkaarten bij hover en PR-filtering per auteur |
Sommige paden gebruiken de GraphQL API in plaats van REST waar dat goedkoper is — branchactiviteit voor de picker bij het opstellen van een PR en de actuele reviewstatus die bepaalt of een melding “Review aangevraagd” nog openstaat.
Houd GitHub-storingen in de gaten
Sectie getiteld “Houd GitHub-storingen in de gaten”De titelbalk toont een statuschip wanneer een provider in de problemen zit, voor GitHub, Claude, OpenAI en Kimi. Hij blijft verborgen zolang alles gezond is — aanwezigheid meldt een storing, niet het uitblijven ervan.
Klik op de chip om een flyout te openen met de status van elke provider en een knop om te vernieuwen. De statussen vernieuwen vanzelf elke twee minuten.
Weet hoe agenten op GitHub handelen
Sectie getiteld “Weet hoe agenten op GitHub handelen”- Een agent die in een GitHub-worktree werkt, krijgt altijd een GitHub-token met alleen leesrechten. Een push loopt via Control Center, dat de regel Naar een remote pushen raadpleegt en hem daarna doorstuurt met een schrijftoken dat de agent nooit in handen heeft. Zie Sandboxbeleid configureren
- Commits die een agent maakt, zijn als de agent geschreven — de weergavenaam
plus
(agent), op een synthetisch adres dat aan de id van de agent is gekoppeld — nooit als een mens. De persoon die erom vroeg, wordt vermeld met eenCo-Authored-By-trailer - Met een geconfigureerde GitHub App geeft de broker per start fijnmazige, tot de
repo beperkte installatietokens van ongeveer een uur uit, in plaats van een
breed token weg te geven. De installatie wordt bepaald aan de hand van de
eigenaar van de repo van de run, dus één app die op meerdere accounts is
geïnstalleerd, is precies gericht op het account dat de run raakt. Zonder app
krijgen agenten het omgevingstoken, dat niet tot alleen lezen kan worden
beperkt: de pushregel bindt dan
git push, maar niet code die het token rechtstreeks gebruikt - Het token is altijd dat van de broker, nooit het eigen token van het aanvragende lid. Het token van de server wordt achtergehouden voor een run die handelt voor een lid dat niet de eigenaar is en GitHub niet heeft gekoppeld
Problemen oplossen
Sectie getiteld “Problemen oplossen”De PR-lijst is leeg en zegt dat GitHub niet is verbonden
Sectie getiteld “De PR-lijst is leeg en zegt dat GitHub niet is verbonden”Je hebt geen GitHub-inloggegeven op deze server. Meld je aan of plak een token onder Codehosting. Repos op andere forges blijven onaangetast — alleen die van GitHub dragen niets bij.
De rij biedt “Token toevoegen” maar geen “Inloggen met GitHub”
Sectie getiteld “De rij biedt “Token toevoegen” maar geen “Inloggen met GitHub””De server heeft geen client-id — wat normaal is voor een build uit de broncode, aangezien inloggegevens alleen in officiële builds worden ingebakken. Zie De GitHub App maken: dat kost ongeveer twee minuten en alleen de servereigenaar hoeft het één keer te doen.
Het inlogvenster zegt dat de provider geen apparaatcode heeft teruggegeven
Sectie getiteld “Het inlogvenster zegt dat de provider geen apparaatcode heeft teruggegeven”De GitHub App bestaat wel, maar het selectievakje Device flow staat uit. Zet het aan in de instellingen van de app (General → Device flow) en probeer het opnieuw.
De rij zegt “via de app van deze server” terwijl ik mijn eigen account verwachtte
Sectie getiteld “De rij zegt “via de app van deze server” terwijl ik mijn eigen account verwachtte”Je bent niet ingelogd; wat je ziet, is de app-identiteit van de server die antwoordt. Klik in die rij op Inloggen met GitHub.
Een fine-grained PAT toont geen mergeknop en geen checkstatus
Sectie getiteld “Een fine-grained PAT toont geen mergeknop en geen checkstatus”Het token heeft Contents en Pull requests (read and write) nodig, plus Checks en Actions (read). Plak het na de wijziging opnieuw onder Codehosting.
Een repo toevoegen wordt geweigerd
Sectie getiteld “Een repo toevoegen wordt geweigerd”Registratie vereist alle drie: het pad ligt binnen een git-worktree, er is een
origin-remote, en die remote wijst naar een ondersteunde forge (github.com,
gitlab.com of bitbucket.org). Zie
Repos toevoegen aan een werkruimte.
Alles stopt een tijdje met werken na zwaar gebruik
Sectie getiteld “Alles stopt een tijdje met werken na zwaar gebruik”Dat is de circuit breaker voor de limiet. GitHub meldt zijn primaire limiet met
een 403 met daarin x-ratelimit-remaining: 0 en een resettijd; zodra de client
die ziet, laat hij verdere aanvragen lokaal mislukken zonder netwerkoproep tot het
venster is verstreken, zodat een storm van herhaalpogingen de limiet niet kan
verzwaren. Tijdelijke fouten worden tot drie keer opnieuw geprobeerd met
exponentiële backoff, met respect voor retry-after.