Sett opp GitHub-integrasjon
Denne veiledningen dekker de GitHub-spesifikke delene av oppsettet. GitHub er én av tre kodeverter som støttes — se Koble til en kodevert for å koble til GitLab eller Bitbucket, og for hvordan ett arbeidsområde rommer flere av dem samtidig.
Forutsetninger
Seksjon med tittelen «Forutsetninger»- En GitHub-konto med tilgang til repoene du vil jobbe med
- Enten en GitHub App registrert for serveren din (se
Opprett GitHub App) slik at du kan logge inn,
eller et personlig tilgangstoken med
repoogread:orgsom du limer inn
Logg inn med GitHub
Seksjon med tittelen «Logg inn med GitHub»En enhetsflyt: GitHub viser deg en kort kode, du godkjenner den på github.com, og serveren mottar påloggingsinformasjonen — ingen callback-URL, ingen port, ingenting å eksponere. Tilgjengelig når serveren har en klient-id, noe et offisielt bygg allerede leverer.
- Gå til Innstillinger → Arbeidsområde → Profil og identitet → Kodehosting (eller det første trinnet i onboarding)
- På raden GitHub, klikk Logg inn med GitHub
- En dialog viser en kode på åtte tegn og åpner github.com/login/device i nettleseren din. Koden ligger allerede i utklippstavlen
- Lim den inn, godkjenn appen og kom tilbake. Raden endrer seg av seg selv til «Logget inn som ditt-brukernavn»
Dialogen kan lukkes mens du fullfører i nettleseren — serveren fortsetter å polle til koden utløper (omtrent 15 minutter), så innloggingen lander likevel.
Eller lim inn et token
Seksjon med tittelen «Eller lim inn et token»Reserveløsningen når serveren ikke har en app, når appen ikke er installert på en konto du trenger, eller når du rett og slett heller vil bruke en PAT.
- Gå til Innstillinger → Arbeidsområde → Profil og identitet → Kodehosting
- På raden GitHub, klikk Legg til token
- Lim inn et token med
repoogread:org(klassisk) og lagre. Et finkornet token trenger Contents og Pull requests (les og skriv) på repoet, pluss Checks og Actions (les).
Tokenet testes idet det lagres, slik at raden kan navngi kontoen det tilhører. Klikk Koble fra for å fjerne det.
Sjekkpunkt: raden GitHub viser «Logget inn som ditt-brukernavn». Et suffiks navngir kilden når påloggingsinformasjonen som svarer, ikke er din — «via denne serverens app» eller «fra miljøet».
Hva integrasjonen gir deg
Seksjon med tittelen «Hva integrasjonen gir deg»| Funksjon | Hvordan |
|---|---|
| PR-liste og detaljer | GitHub REST-API-et, fra serveren, på app-identiteten eller din egen påloggingsinformasjon |
| Check-kjøringer | GitHub Checks-API-et |
| Publisering av gjennomgang | Et trinn som krever en brukerhandling, og som legger gjennomgangen din ut på PR-en |
| Repo-registrering | En checkout godtas hvis origin-remoteen peker på github.com — eller på gitlab.com / bitbucket.org |
| GitHub-tilgang for agenter | Brokeren for påloggingsinformasjon injiserer et token som bare kan lese, som GH_TOKEN / GITHUB_TOKEN; pusher går gjennom Control Center |
| Varsler | En serverside poll av GitHub-varselinnboksen din utløser «Nevnt i pull request» og «Gjennomgang forespurt» |
| Brukerprofiler | Profilkort ved hover og filtrering av PR-er per forfatter |
Enkelte stier bruker GraphQL-API-et i stedet for REST der det er billigere — grenaktivitet for PR-velgeren når du oppretter en PR, og den løpende gjennomgangstilstanden som avgjør om et varsel om forespurt gjennomgang fortsatt er åpent.
Hold øye med GitHub-avbrudd
Seksjon med tittelen «Hold øye med GitHub-avbrudd»Tittellinjen viser et statusmerke når en leverandør er svekket, og dekker GitHub, Claude, OpenAI og Kimi. Den er skjult så lenge alt er friskt — tilstedeværelse varsler om trøbbel, ikke om fraværet av det.
Klikk på merket for å åpne et panel med tilstanden til hver leverandør og en Oppdater-knapp. Statusene oppdateres av seg selv hvert andre minutt.
Slik handler agenter på GitHub
Seksjon med tittelen «Slik handler agenter på GitHub»- En agent som jobber i en GitHub-worktree, får alltid et GitHub-token som bare kan lese. En push går gjennom Control Center, som spør regelen Push til en remote og deretter sender den videre med et skrivetoken agenten aldri har. Se Konfigurer sandkassepolicyer
- Commits en agent lager, angis som agenten — visningsnavnet pluss
(agent), på en syntetisk adresse knyttet til agentens id — aldri som et menneske. Personen som ba om det, krediteres med enCo-Authored-By-trailer - Med en GitHub App konfigurert utsteder brokeren finkornede, repobegrensede
installasjonstokener med omtrent én times varighet per oppstart, i stedet for å
overlate et bredt token. Installasjonen løses fra eieren av repoet i
kjøringen, slik at én app installert på flere kontoer avgrenses riktig til den
kontoen kjøringen berører. Uten en app mottar agentene miljøtokenet, som ikke
kan begrenses til bare lesing: push-regelen binder da
git push, men ikke kode som bruker tokenet direkte - Tokenet er alltid brokerens, aldri det egne tokenet til medlemmet som ba om kjøringen. Serverens token holdes tilbake fra en kjøring som handler for et medlem som ikke er eieren og ikke har koblet til GitHub
Feilsøking
Seksjon med tittelen «Feilsøking»PR-listen er tom og sier at GitHub ikke er tilkoblet
Seksjon med tittelen «PR-listen er tom og sier at GitHub ikke er tilkoblet»Du har ingen GitHub-påloggingsinformasjon på denne serveren. Logg inn eller lim inn et token under Kodehosting. Repoer på andre forger påvirkes ikke — bare GitHubs repoer bidrar ikke med noe.
Raden tilbyr «Legg til token», men ikke «Logg inn med GitHub»
Seksjon med tittelen «Raden tilbyr «Legg til token», men ikke «Logg inn med GitHub»»Serveren har ingen klient-id — noe som er normalt for et bygg fra kildekoden, siden påloggingsinformasjon bare bygges inn i offisielle bygg. Se Opprett GitHub App: det tar omtrent to minutter, og bare servereieren trenger å gjøre det, én gang.
Innloggingsdialogen sier at leverandøren ikke returnerte noen enhetskode
Seksjon med tittelen «Innloggingsdialogen sier at leverandøren ikke returnerte noen enhetskode»GitHub App-en finnes, men avmerkingsboksen Device flow er av. Slå den på i appens innstillinger (General → Device flow) og prøv igjen.
Raden sier «via denne serverens app» når jeg forventet min egen konto
Seksjon med tittelen «Raden sier «via denne serverens app» når jeg forventet min egen konto»Du har ikke logget inn; det du ser, er serverens app-identitet som svarer. Klikk på Logg inn med GitHub på den raden.
En finkornet PAT viser ingen sammenslåingsknapp og ingen check-status
Seksjon med tittelen «En finkornet PAT viser ingen sammenslåingsknapp og ingen check-status»Tokenet trenger Contents og Pull requests (les og skriv), pluss Checks og Actions (les). Når du har endret det, limer du det inn på nytt under Kodehosting.
Å legge til et repo blir avvist
Seksjon med tittelen «Å legge til et repo blir avvist»Registrering krever alle tre: stien ligger inne i et git-worktree, den har en
origin-remote, og den remote-en peker på en forge som støttes (github.com,
gitlab.com eller bitbucket.org). Se
Legg til repoer i et arbeidsområde.
Alt slutter å fungere en stund etter tung bruk
Seksjon med tittelen «Alt slutter å fungere en stund etter tung bruk»Det er kretsbryteren for hastighetsgrenser. GitHub signaliserer sin primære grense
med en 403 som bærer x-ratelimit-remaining: 0 og et tidspunkt for
tilbakestilling; når klienten ser én, lar den videre forespørsler feile lokalt
uten et nettverkskall til vinduet er ute, slik at en storm av nye forsøk ikke kan
forverre grensen. Forbigående feil prøves på nytt opptil tre ganger med
eksponentiell backoff, og retry-after respekteres.