Tovább a tartalomhoz

GitHub-integráció beállítása

Ez az útmutató a beállítás GitHub-specifikus részeit tárgyalja. A GitHub a három támogatott kódhoszt egyike — a GitLab vagy a Bitbucket csatlakoztatásáról, illetve arról, hogyan használ egy munkaterület egyszerre többet, lásd a Kódhoszt csatlakoztatása oldalt.

  • Egy GitHub-fiók, amely hozzáfér azokhoz a repókhoz, amelyeken dolgozni szeretne
  • Vagy egy GitHub App, amely a szerveréhez van regisztrálva (lásd a GitHub App létrehozása oldalt), hogy be tudjon jelentkezni, vagy egy személyes hozzáférési token a repo és a read:org jogosultsággal, amelyet beilleszthet

Egy device flow: a GitHub mutat egy rövid kódot, Ön jóváhagyja a github.com oldalon, és a szerver megkapja a hitelesítő adatot — nincs visszahívási URL, nincs port, nincs semmi, amit ki kellene tennie. Akkor érhető el, ha a szerverhez tartozik Kliens-ID, amellyel egy hivatalos build már eleve rendelkezik.

  1. Nyissa meg a Beállítások → Munkaterület → Profil és identitás → Kódtárhely oldalt (vagy a bevezető első lépését)
  2. A GitHub sorban kattintson a Bejelentkezés ezzel: GitHub elemre
  3. A párbeszédablak egy nyolckarakteres kódot mutat, és megnyitja a github.com/login/device oldalt a böngészőjében. A kód már a vágólapján van
  4. Illessze be, hagyja jóvá az alkalmazást, majd térjen vissza. A sor magától erre vált: „Bejelentkezve mint your-username”

A párbeszédablak bezárható, amíg a böngészőben befejezi a műveletet — a szerver addig kérdezgeti a szolgáltatót, amíg a kód le nem jár (körülbelül 15 perc), így a bejelentkezés akkor is célba ér.

Ez a tartalék megoldás, ha a szerveren nincs alkalmazás, ha az alkalmazás nincs telepítve egy szükséges fiókra, vagy ha egyszerűen inkább PAT-ot szeretne használni.

  1. Nyissa meg a Beállítások → Munkaterület → Profil és identitás → Kódtárhely oldalt
  2. A GitHub sorban kattintson a Token hozzáadása elemre
  3. Illesszen be egy repo és read:org jogosultságú tokent (classic), és mentse el. A fine-grained tokenhez a tárolónál a Contents és a Pull requests (read and write), valamint a Checks és az Actions (read) szükséges.

A tokent a rendszer a mentés pillanatában ellenőrzi, így a sor meg tudja nevezni a hozzá tartozó fiókot. Az eltávolításához kattintson a Leválasztás elemre.

Ellenőrzőpont: a GitHub sor ezt írja: „Bejelentkezve mint your-username”. Ha nem az Ön hitelesítő adata válaszol, egy utótag nevezi meg a forrást — „ennek a szervernek az alkalmazásán keresztül” vagy „a környezetből”.

Funkció Hogyan
PR-lista és részletek A GitHub REST API a szerverről, az alkalmazásidentitással vagy az Ön saját hitelesítő adatával
Check-futtatások A GitHub Checks API
Átnézés közzététele Felhasználó által indított lépés, amely közzéteszi az átnézését a PR-ben
Repóregisztráció Egy checkout akkor fogadható el, ha az origin remote-ja a github.com-ra mutat — vagy a gitlab.com / bitbucket.org oldalra
Ügynök GitHub-hozzáférése A hitelesítőadat-bróker csak olvasásra jogosult tokent injektál GH_TOKEN / GITHUB_TOKEN néven; a pushok a Control Centeren mennek át
Értesítési jelzések A GitHub-értesítési postaládájának szerveroldali lekérdezése „Említve egy pull requestben” és „Átnézést kértek” értesítéseket vált ki
Felhasználói profilok Profilkártyák rámutatáskor és a PR-ek szerző szerinti szűrése

Egyes útvonalak a REST helyett a GraphQL API-t használják, ahol az olcsóbb — az ágak tevékenységét a PR-összeállító választóhoz, és az élő átnézési állapotot, amely eldönti, hogy egy „átnézést kértek” értesítés még függőben van-e.

A címsor állapotjelvényt mutat, ha egy szolgáltató csökkentett szolgáltatással üzemel; ez a GitHubra, a Claude-ra, az OpenAI-ra és a Kimira terjed ki. Mindaddig rejtve marad, amíg minden egészséges — a jelenlét problémát jelez, nem annak hiányát.

Kattintson a jelvényre egy lenyíló panel megnyitásához, amely minden szolgáltató állapotát és egy frissítés gombot mutat. Az állapotok maguktól frissülnek kétpercenként.

Hogyan lépnek fel az ügynökök a GitHubon

Szekció neve “Hogyan lépnek fel az ügynökök a GitHubon”
  • Egy GitHub-worktree-ben dolgozó ügynök mindig csak olvasásra jogosult GitHub-tokent kap. A push a Control Centeren megy át, amely megkérdezi a Küldés távoli tárolóra szabályt, majd egy olyan írási tokennel továbbítja, amely soha nincs az ügynök birtokában. Lásd a Homokozószabályzatok konfigurálása oldalt
  • Az ügynök által létrehozott commitok az ügynökként szerzőzöttek — a megjelenített név plusz (agent), az ügynök azonosítójából származó szintetikus címen —, soha nem emberként. A kérő személyt egy Co-Authored-By trailerrel tünteti fel a rendszer
  • Ha GitHub App van beállítva, a bróker indításonként szűk hatókörű, a repóra korlátozott, körülbelül egyórás telepítési tokent állít ki a széles token átadása helyett. A telepítést a futtatás repójának tulajdonosa alapján oldja fel, így egy több fiókra telepített alkalmazás pontosan arra a fiókra korlátozódik, amelyet a futtatás érint. Alkalmazás nélkül az ügynökök a környezeti tokent kapják, amelyet nem lehet csak olvasásra korlátozni: a push-szabály ekkor a git push-ra érvényes, de a tokent közvetlenül használó kódra nem
  • A token mindig a brókeré, soha nem a kérő tag sajátja. A szerver tokenjét a bróker visszatartja attól a futtatástól, amely olyan tag nevében jár el, aki nem a tulajdonos, és nem csatlakoztatta a GitHubot

A PR-lista üres, és azt írja, hogy a GitHub nincs csatlakoztatva

Szekció neve “A PR-lista üres, és azt írja, hogy a GitHub nincs csatlakoztatva”

Nincs GitHub-hitelesítő adata ezen a szerveren. Jelentkezzen be, vagy illesszen be egy tokent a Kódtárhely alatt. A más kódhosztokon lévő repók érintetlenek — csak a GitHub repói nem járulnak hozzá semmivel.

A sor felkínálja a „Token hozzáadása” elemet, de a „Bejelentkezés ezzel: GitHub” elemet nem

Szekció neve “A sor felkínálja a „Token hozzáadása” elemet, de a „Bejelentkezés ezzel: GitHub” elemet nem”

A szerverhez nem tartozik Kliens-ID — ez a forrásból készült build normál állapota, mivel a hitelesítő adatok csak a hivatalos buildekbe vannak beépítve. Lásd a GitHub App létrehozása oldalt: körülbelül két percet vesz igénybe, és csak a szervertulajdonosnak kell egyszer elvégeznie.

A bejelentkezési párbeszédablak azt írja, hogy a szolgáltató nem adott vissza device-kódot

Szekció neve “A bejelentkezési párbeszédablak azt írja, hogy a szolgáltató nem adott vissza device-kódot”

A GitHub App létezik, de a Device flow jelölőnégyzet ki van kapcsolva. Kapcsolja be az alkalmazás beállításaiban (General → Device flow), és próbálja újra.

A sor „ennek a szervernek az alkalmazásán keresztül” feliratot mutat, pedig a saját fiókomat vártam

Szekció neve “A sor „ennek a szervernek az alkalmazásán keresztül” feliratot mutat, pedig a saját fiókomat vártam”

Nem jelentkezett be; amit lát, az a szerver alkalmazásidentitása, amely válaszol. Kattintson ebben a sorban a Bejelentkezés ezzel: GitHub elemre.

Egy fine-grained PAT nem mutat összefésülés gombot vagy check-állapotot

Szekció neve “Egy fine-grained PAT nem mutat összefésülés gombot vagy check-állapotot”

A tokenhez a Contents és a Pull requests (read and write), valamint a Checks és az Actions (read) szükséges. Módosítás után illessze be újra a Kódtárhely alatt.

Egy repó hozzáadása elutasításra kerül

Szekció neve “Egy repó hozzáadása elutasításra kerül”

A regisztrációhoz mindhárom feltétel kell: az útvonal egy git-worktree-n belül van, van origin remote-ja, és ez a remote egy támogatott kódhosztra mutat (github.com, gitlab.com vagy bitbucket.org). Lásd a Repók hozzáadása munkaterülethez oldalt.

Nagy használat után egy időre minden leáll

Szekció neve “Nagy használat után egy időre minden leáll”

Ez a sebességkorlát-védőkapcsoló. A GitHub az elsődleges korlátját egy 403-mal jelzi, amely x-ratelimit-remaining: 0 értéket és egy visszaállítási időt hordoz; amikor a kliens ilyet lát, a további kéréseket hálózati hívás nélkül, helyben hiúsítja meg az ablak elteltéig, így az újrapróbálkozások vihara nem mélyíti tovább a korlátot. Az átmeneti hibákat legfeljebb háromszor próbálja újra exponenciális visszalépéssel, a retry-after fejlécet betartva.