GitHub
Plugin GitHub propojí vlastní identitu GitHubu každého účtu a přiřadí Projekt k jeho repozitáři na GitHubu. Agenti pak s GitHubem pracují přes git a GitHub CLI (gh) v terminálu: příkazy v terminálu, které v tomto Projektu spustí držitel mapování, jsou přihlášené jako on. Celý postup pro Projekty a worktrees popisuje článek Projekty, prostředí a GitHub.
Plugin github nainstalujte v Nastavení → Dostupné pluginy. Aktuální verzi pluginu a minimální verzi Elowen najdete v registru. Plugin podporuje jen Linux; Windows a macOS podporované nejsou.
GitHub připojíte v Účet → Propojené účty. Řádek GitHubu ukazuje připojené přihlašovací jméno, Otestovat připojení, Nahradit identitu a Odpojit; když autorizace vyprší, nabídne místo toho Připojit znovu. Přiřazení repozitáře najdete na kartě GitHub u vybraného Projektu. Formulář přiřazení našeptává hodnoty z Git remote adres Projektu a nepřiřazený Projekt vypíše repozitáře, které z nich vyplývají; tlačítko pro zjištění tam není.
Pole pro osobní přístupový token tu není. Připojení probíhá přihlášením GitHub CLI pomocí jednorázového kódu s rozsahem workflow, takže gh musí být nainstalované na hostiteli s Elowen. Jednorázový kód potvrďte na GitHubu. Když GitHub vyžaduje nové připojení, připojte se znovu; Elowen autorizaci sama na pozadí neobnovuje.
Přiřazení repozitáře
Projekt má nejvýše jedno mapování. Drží ho účet, který ho vytvořil, a zaznamenává základní repozitář a repozitář pro odeslání změn; při práci s forkem se mohou lišit. Uložení mapování ověří, že připojený účet GitHubu umí základní repozitář číst a do repozitáře pro odeslání změn zapisovat. Jiný účet už namapovaný Projekt namapovat nemůže. Mapování může odstranit jen držitel nebo administrátor. Ostatní členové sdíleného Projektu vidí, že je Projekt namapovaný a kým.
Smazáním Projektu se odstraní jeho mapování i nevyřízená potvrzení mapování. Vaše připojení GitHubu, repozitáře ani mapování jiných Projektů se nemažou.
Spárovaný počítač namapovat nelze. Spouští git a gh s vlastním přihlášením, takže jeho karta GitHub to sděluje místo nabídky mapování a pokus o namapování počítače se odmítne.
Git a gh v terminálu
Když držitel mapování spustí v namapovaném Projektu příkaz v terminálu, Elowen mu pro tento příkaz předá token GitHubu v proměnné prostředí GH_TOKEN, takže git přes HTTPS i gh fungují, aniž by se přihlašovací údaj ukládal do domovské složky. Publikování větve, otevření pull requestu, revize i sloučení jsou běžné příkazy git a gh; plugin k nim nepřidává žádné nástroje ani tlačítka. Příkazy jiných účtů a příkazy v Projektu bez ověřeného mapování běží bez identity GitHubu. Prostředí spravovaných Projektů vytvořená z aktuálního image obsahují gh; prostředí ze staršího image ho může potřebovat doinstalovat.
Spravovaný kontejner je sdílený a běží jako root, takže jiný člen může token držitele vyčíst z běžícího procesu. Počítejte s tím, že mapování ve sdíleném Projektu je pro jeho členy viditelné. Odpojení GitHubu nebo odstranění mapování zastaví předávání tokenu dalším příkazům; příkaz, který ho už dostal, si ho podrží do svého skončení.
Životní cyklus připojení
Pro jeden účet může běžet vždy jen jeden požadavek na připojení. Po opětovném načtení panelu účtu se ze serveru obnoví rozpracovaný kód. Zrušení nebo vypršení kód smaže; restart démona nebo opětovné načtení pluginu požadavek přeruší a vyžaduje nové přihlášení. Odpojení zruší čekající přihlášení a deaktivuje mapování repozitářů. Opětovné připojení ověří existující mapování, než je znovu povolí; zrušení, smazání účtu nebo úprava mapování během ověřování nemohou obnovit zastaralý stav.
Odpojení, nahrazení identity GitHubu i odstranění mapování nejdřív zobrazí potvrzení. Potvrzení platí jednou a vyprší po pěti minutách; pokud se účet nebo mapování mezitím změní, zobrazte náhled akce znovu.
Plugin nemá vlastní nastavení ani oprávnění pro jednotlivé účty: řádek GitHubu patří přihlášenému účtu a o tom, kdo mapování uvidí, rozhoduje členství v Projektu. Obecně o účtech a oprávněních viz Uživatelé a přístup.