Hoppa till innehåll

Konfigurera GitHub-integration

Den här guiden handlar om de GitHub-specifika delarna av uppsättningen. GitHub är en av tre kodvärdar som stöds — se Anslut en kodvärd för att ansluta GitLab eller Bitbucket, och för hur en arbetsyta blandar dem.

  • Ett GitHub-konto med åtkomst till de repos du vill arbeta med
  • Antingen en GitHub-app registrerad för din server (se Skapa GitHub-appen) så att du kan logga in, eller en personlig åtkomsttoken med repo och read:org att klistra in

Ett enhetsflöde: GitHub visar en kort kod, du godkänner den på github.com och servern tar emot inloggningsuppgiften — ingen callback-URL, ingen port, inget att exponera. Tillgängligt närhelst servern har ett klient-ID, vilket ett officiellt bygge redan levereras med.

  1. Gå till Inställningar → Arbetsyta → Profil och identitet → Kodvärd (eller första steget i introduktionen)
  2. På raden GitHub, klicka på Logga in med GitHub
  3. En dialog visar en åttateckens kod och öppnar github.com/login/device i din webbläsare. Koden finns redan i urklipp
  4. Klistra in den, godkänn appen och kom tillbaka. Raden växlar till ”Inloggad som ditt-användarnamn” av sig själv

Dialogen kan stängas medan du gör klart i webbläsaren — servern fortsätter att polla tills koden går ut (cirka 15 minuter), så inloggningen landar ändå.

Reservvägen när servern inte har någon app, när appen inte är installerad på ett konto du behöver, eller när du helt enkelt hellre använder en PAT.

  1. Gå till Inställningar → Arbetsyta → Profil och identitet → Kodvärd
  2. På raden GitHub, klicka på Lägg till token
  3. Klistra in en token med repo och read:org (classic) och spara. En fine-grained-token behöver Contents och Pull requests (read and write) på repositoryt, plus Checks och Actions (read).

Token provas när den sparas, så raden kan namnge kontot den tillhör. Klicka på Koppla från för att ta bort den.

Kontrollpunkt: raden GitHub visar ”Inloggad som ditt-användarnamn”. Ett suffix namnger källan när inloggningsuppgiften som svarar inte är din — ”via den här serverns app” eller ”från miljön”.

Funktion Hur
PR-lista och detaljvy GitHub REST-API:et, från servern, på appidentiteten eller din egen inloggningsuppgift
Kontrollkörningar GitHub Checks API
Publicera granskning Ett steg som en användare måste godkänna och som publicerar din granskning på PR:en
Reporegistrering En utcheckning godtas om dess origin-remote pekar på github.com — eller på gitlab.com / bitbucket.org
Agenters GitHub-åtkomst Mäklaren för inloggningsuppgifter injicerar en token som bara kan läsa som GH_TOKEN / GITHUB_TOKEN; pushar går genom Control Center
Aviseringsping En pollning på serversidan av din GitHub-aviseringsinkorg väcker ”Omnämnd i pull request” och ”Granskning begärd”
Användarprofiler Profilkort vid hovring och filtrering av PR:er per författare

Vissa vägar använder GraphQL-API:et i stället för REST där det är billigare — grenaktivitet för väljaren när du skriver en PR och den aktuella granskningsstatus som avgör om en avisering om begärd granskning fortfarande väntar.

Titelraden visar en statustagg när en leverantör är nedsatt, och täcker GitHub, Claude, OpenAI och Kimi. Den är dold så länge allt är friskt — närvaro rapporterar problem, inte frånvaro.

Klicka på taggen för att öppna en utfällbar panel med varje leverantörs tillstånd och en uppdateringsknapp. Statusarna uppdateras av sig själva varannan minut.

  • En agent som arbetar i en GitHub-worktree får alltid en GitHub-token som bara kan läsa. En push går genom Control Center, som frågar regeln Pusha till en remote och sedan skickar den vidare med en skrivtoken som agenten aldrig har. Se Konfigurera sandlådepolicyer
  • Commits som en agent gör skapas som agenten — visningsnamnet plus (agent), på en syntetisk adress som härleds från agentens id — aldrig som en människa. Personen som bad om det krediteras med en Co-Authored-By-trailer
  • Med en GitHub-app konfigurerad utfärdar mäklaren för inloggningsuppgifter finkorniga installationstoken, begränsade till repot och giltiga i ungefär en timme, per start i stället för att lämna över en bred token. Installationen löses från körningens repo-ägare, så en app som är installerad på flera konton begränsas korrekt till det konto körningen rör. Utan en app får agenterna token från miljön, som inte kan begränsas till enbart läsning: pushregeln binder då git push, men inte kod som använder token direkt
  • Token är alltid mäklarens, aldrig den begärande medlemmens egen. Serverns token hålls tillbaka från en körning som agerar för en medlem som inte är ägare och inte har anslutit GitHub

PR-listan är tom och säger att GitHub inte är anslutet

Avsnitt med rubriken “PR-listan är tom och säger att GitHub inte är anslutet”

Du har ingen GitHub-inloggningsuppgift på den här servern. Logga in eller klistra in en token under Kodvärd. Repos på andra kodvärdar påverkas inte — bara GitHubs bidrar inte med något.

Raden erbjuder ”Lägg till token” men inte ”Logga in med GitHub”

Avsnitt med rubriken “Raden erbjuder ”Lägg till token” men inte ”Logga in med GitHub””

Servern har inget klient-ID — vilket är normaltillståndet för ett bygge från källkoden, eftersom inloggningsuppgifter bara bakas in i officiella byggen. Se Skapa GitHub-appen: det tar ungefär två minuter och bara serverägaren behöver göra det, en gång.

Inloggningsdialogen säger att leverantören inte returnerade någon enhetskod

Avsnitt med rubriken “Inloggningsdialogen säger att leverantören inte returnerade någon enhetskod”

GitHub-appen finns, men kryssrutan Device flow är av. Slå på den i appens inställningar (General → Device flow) och försök igen.

Raden säger ”via den här serverns app” trots att jag väntade mig mitt eget konto

Avsnitt med rubriken “Raden säger ”via den här serverns app” trots att jag väntade mig mitt eget konto”

Du har inte loggat in; det du ser är serverns appidentitet som svarar. Klicka på Logga in med GitHub på den raden.

En fine-grained-PAT visar ingen sammanfogningsknapp eller kontrollstatus

Avsnitt med rubriken “En fine-grained-PAT visar ingen sammanfogningsknapp eller kontrollstatus”

Token behöver Contents och Pull requests (read and write), plus Checks och Actions (read). När du har ändrat den klistrar du in den igen under Kodvärd.

Registreringen kräver alla tre: sökvägen ligger i ett git-arbetsträd, den har en origin-remote och den remoten pekar på en kodvärd som stöds (github.com, gitlab.com eller bitbucket.org). Se Lägg till repos i en arbetsyta.

Det är brytaren för hastighetsgränsen. GitHub signalerar sin primära gräns med en 403 som bär x-ratelimit-remaining: 0 och en återställningstid; när klienten ser en sådan låter den ytterligare begäranden misslyckas lokalt utan nätverksanrop tills fönstret har passerat, så en storm av återförsök kan inte fördjupa gränsen. Tillfälliga fel görs om upp till tre gånger med exponentiell backoff, och retry-after respekteras.