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.
Förutsättningar
Avsnitt med rubriken “Förutsättningar”- 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
repoochread:orgatt klistra in
Logga in med GitHub
Avsnitt med rubriken “Logga in med GitHub”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.
- Gå till Inställningar → Arbetsyta → Profil och identitet → Kodvärd (eller första steget i introduktionen)
- På raden GitHub, klicka på Logga in med GitHub
- En dialog visar en åttateckens kod och öppnar github.com/login/device i din webbläsare. Koden finns redan i urklipp
- 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å.
Eller klistra in en token
Avsnitt med rubriken “Eller klistra in en token”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.
- Gå till Inställningar → Arbetsyta → Profil och identitet → Kodvärd
- På raden GitHub, klicka på Lägg till token
- Klistra in en token med
repoochread: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”.
Vad integrationen ger dig
Avsnitt med rubriken “Vad integrationen ger dig”| 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.
Håll koll på GitHub-avbrott
Avsnitt med rubriken “Håll koll på GitHub-avbrott”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.
Så agerar agenter på GitHub
Avsnitt med rubriken “Så agerar agenter på GitHub”- 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 enCo-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
Felsökning
Avsnitt med rubriken “Felsökning”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.
Ett repo avvisas när det läggs till
Avsnitt med rubriken “Ett repo avvisas när det läggs till”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.
Allt slutar fungera en stund efter hård användning
Avsnitt med rubriken “Allt slutar fungera en stund efter hård användning”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.