Gå til innholdet

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.

  • 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 repo og read:org som du limer inn

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.

  1. Gå til Innstillinger → Arbeidsområde → Profil og identitet → Kodehosting (eller det første trinnet i onboarding)
  2. På raden GitHub, klikk Logg inn med GitHub
  3. En dialog viser en kode på åtte tegn og åpner github.com/login/device i nettleseren din. Koden ligger allerede i utklippstavlen
  4. 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.

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.

  1. Gå til Innstillinger → Arbeidsområde → Profil og identitet → Kodehosting
  2. På raden GitHub, klikk Legg til token
  3. Lim inn et token med repo og read: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».

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.

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.

  • 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 en Co-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

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.

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.

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.