Beszélgetés a Control Centerrel GitHub PR-ből
Ez az útmutató bemutatja, hogyan dolgozhat a Control Centerrel anélkül, hogy elhagyná a GitHubot: kérjen MI-átnézést a PR oldaláról, tegyen fel kérdést a botnak egy hozzászólásban, és folytassa a beszélgetést az átnézési szálaiban.
A bot a szerver saját GitHub Appja — ugyanaz, amely már bejelentkezteti az embereket és háttérmunkát futtat. Semmi újat nem regisztrál, és semminek nem kell elérhetőnek lennie az internetről: a szerver lekérdezéssel deríti fel, mi hangzott el a GitHubon, így egy NAT mögötti laptop pontosan úgy viselkedik, mint egy nyilvános telepítés.
Előfeltételek
Szekció neve “Előfeltételek”- A szerveren a GitHub App regisztrálva és telepítve van, Pull requests: read and write (hozzászólásokhoz, szálakhoz és reakciókhoz) és Issues: read (a hozzászóláskereséshez) jogosultsággal. Mindkettő szerepel már abban az útmutató jogosultságlistájában
- A tároló egy munkaterülethez van kapcsolva a Control Centerben
- Nincs webhook URL, nincs alagút, nincs callback — a hálózat oldalán nincs mit beállítani
A bot nevének megkeresése
Szekció neve “A bot nevének megkeresése”A bot bejelentkezési neve <appslug>[bot], ahol az appslug az a név, amelyet
az alkalmazásnak a regisztráláskor adott.
- Nyissa meg a Beállítások → Szerver → Egyszeri bejelentkezés oldalt, és görgessen a Szolgáltatói alkalmazások kártyához
- Nyissa meg a GitHub blokkot, és kattintson a Teszt elemre
- Másolja ki a Bot bejelentkezési név értékét, amikor kitöltődik. Ha még
mindig az üres súgószöveget mutatja, a bejelentkezési név mindig
<appslug>[bot]— gépelje be, vagy használja a rövid@appslugalakot
A GitHub nem kínál alkalmazásfiókokat a @-automatikus kiegészítésében, ezért
a bejelentkezési nevet be kell gépelni — éppen ezért teszi a beállításkártya
egyetlen kattintással másolhatóvá. A [bot] utótag elhagyható: a @myapp és a
@myapp[bot] egyaránt a botot szólítja meg.
Átnézés kérése a GitHubból
Szekció neve “Átnézés kérése a GitHubból”Kétféleképpen, mindkettő ugyanazt az alapból létrehozott pr_review pipeline-t
indítja el, amelyet a Kérdezze az AI-t gomb is:
- Adja hozzá az
ai-reviewcímkét a PR-hez. Ez áll a legközelebb ahhoz, amit a GitHub a bot átnézőként való hozzárendelésére kínál — az alkalmazásfiókok nem foglalhatják el a natív kért-átnéző helyet. Nincs hozzászólás, amelyre reagálni lehetne, így semmi nem kerül fel a GitHubra; az átnézés a Control Centerben indul el - Szóljon hozzá
@myapp review(vagy csak@myapp) formában a PR beszélgetéséhez. A bot 👀 reakcióval válaszol, majd jelentkezik, hogy elindult az átnézés (vagy hogy már fut egy)
Az átnézők a PR átnézési terében dolgoznak; a megállapításokat ugyanúgy olvassa el és tegye közzé, mint az MI-alapú átnézés használata oldalon. A GitHubra való visszaközzététel továbbra is az Ön döntése marad a Control Centerben — a GitHubról indított átnézés önmagában semmit nem tesz közzé a GitHubon.
A címke PR-enként egyszer fut le: a hozzáadása maga a kérés, és nem élesedik újra, ha eltávolítja, majd ismét hozzáadja. Átnézés újbóli futtatásához — mondjuk egy push után — említse meg a botot.
Kérdés feltevése
Szekció neve “Kérdés feltevése”Szóljon hozzá a PR beszélgetéséhez:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?Mi történik, sorrendben:
- A bot 👀 reakcióval jelzi, hogy észrevette a hozzászólást
- A kérdés az Ön nevében kerül be a PR átnézési terébe — ugyanazzal az attribúcióval, mintha a Control Centerben gépelte volna be
- Egy ügynök válaszol a térben, és a válasz visszakerül a PR-re egy olyan hozzászólásként, amely @-megemlíti Önt
Egy olyan PR-en feltett kérdés, amelyen még nem futott átnézés, a munkaterület vezető (CEO) ügynökét ébreszti fel; ha már lefutott egy átnézés, az utoljára megszólaló ügynök válaszol, így az utánkövetések ahhoz kerülnek, akinél a kontextus van.
Utánkövetés egy átnézési szálban
Szekció neve “Utánkövetés egy átnézési szálban”Válaszoljon egy olyan beágyazott átnézési szálon belül, amelynek a bot is része — egy általa hagyott diff-hozzászólásban vagy egy abban a szálban közzétett válaszban. Nem kell említés; maga a szál a megszólítás:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?A többfordulós működés ugyanígy megy: minden válasz egy újabb kérdés ugyanabban a beszélgetésben, az átnézési tér mint kontextus mellett, és a válasz a szálban érkezik vissza.
A PR-beszélgetés idővonalán tett utánkövetés egy új, legfelső szintű hozzászólás, ezért ott továbbra is kell az @-említés.
Kihez beszél a bot
Szekció neve “Kihez beszél a bot”Egy GitHub-hozzászólás alig többet hoz magával, mint egy bejelentkezési nevet, ezért a bot minden művelet előtt feloldja a szerzőt:
- A GitHub-fiókját össze kell kapcsolni az identitásával a Control Centerben — jelentkezzen be a GitHubdal, vagy illesszen be egy tokent, a Beállítások → Munkaterület → Profil és identitás → Kódtárhely helyen
- Írási jogosultságú szerepkörrel rendelkező tagnak kell lennie
(
member,adminvagyowner) abban a munkaterületben, amely a tárolót kapcsolja
Mindenki más egyetlen udvarias választ kap arról, mi hiányzik — egy ismeretlen
bejelentkezési név (nincs összekapcsolva, vagy össze van kapcsolva, de nem tag
itt) és egy csak olvasásra jogosult szerepkör a két eset —, és a szavai soha nem
lépnek be a munkaterületre. Az ai-review címke nincs így kapuzva: nincs
szerzője, ezért abban a munkaterületben indítja el az átnézést, amely már
kapcsolódik a repóhoz.
Amire számíthat
Szekció neve “Amire számíthat”| Dolog | Viselkedés |
|---|---|
| Visszaigazolás | 👀 egy hozzászóláson körülbelül egy percen belül — a pásztázási intervallum. Az ai-review címkének nincs hozzászólása, amelyre reagálni lehetne |
| Válaszok | A bot (az alkalmazás) nevében közzétéve, abban a szálban, amelyben a kérdést feltették |
| Attribúció a térben | A kérdés az Öné; az ügynök az Ön nevében fut, a tér autonómiatárcsája szerint |
| Átnézések | A megállapítások az átnézési térbe kerülnek; a GitHubra való közzététel kézi |
A körülbelül egyperces késleltetés az ára annak, hogy egyáltalán nincs szükség bejövő hálózati hozzáférésre. A pásztázás miatt semmi sem sürgős, és semmi sem vész el, amíg a szerver offline — egy leállás alatt érkező hozzászólást a következő pásztázás elkapja.
Hibaelhárítás
Szekció neve “Hibaelhárítás”Semmi sem történik egy olyan hozzászólásnál, amely megemlíti a botot.
- Telepítve van az alkalmazás a repót birtokló fiókon, és a repó hozzá van kapcsolva egy munkaterülethez? Egy nem kapcsolt repó kihagyásra kerül, mielőtt bármi rögzítésre kerülne, így a későbbi összekapcsolás még mindig leszállítja
- Össze van kapcsolva a GitHub-fiókja, és írási jogosultságú szerepkörű tag? Nézze meg a PR-en a bot elutasító válaszát — az megmondja, melyik eset
- Még mindig semmi? A szervernapló megnevezi a pásztázást és a PR-t, amikor
valami elszáll; keresse a
pr_conversation:(a lekérdező) és agithub_pr_conversation:(a híd) bejegyzést
A címke nem indít átnézést.
PR-enként egyszer fut le. Ha már lefutott egy átnézés, vagy a címkét még azelőtt
adták hozzá, hogy a szerver valaha is látta volna a PR-t (az első pásztázás
csendben rögzíti a hátralékot, ahelyett hogy elárasztaná), említse meg inkább a
botot — a @myapp review mindig elindít egyet, hacsak nem fut már átnézés.
A bot válasza soha nem érkezett meg a GitHubra.
Maga a válasz soha nem vész el — a PR átnézési terében van a Control Centerben. Egy közzétételi hiba (a GitHub elérhetetlen, megváltoztak a jogosultságok) naplózásra kerül, és a válasz nem kerül újrapróbálásra; kérdezzen rá újra a szálban, ha számít.
Kapcsolódó útmutatók
Szekció neve “Kapcsolódó útmutatók”- GitHub App létrehozása: a regisztráció, amelyből a bot megszületik
- MI-alapú átnézés használata: egy említéssel indított átnézés megállapításainak elolvasása
- GitHub-integráció beállítása: a saját GitHub-fiókja összekapcsolása, ami alapján a bot Önt feloldja
- Terek használata: a helyiség, ahová mindez megérkezik