Przejdź do głównej zawartości

Skonfiguruj integrację GitHub

Ten poradnik obejmuje części konfiguracji właściwe dla GitHuba. GitHub to jeden z trzech obsługiwanych hostów kodu — jak połączyć GitLab lub Bitbucket i jak jeden obszar roboczy łączy je wszystkie, opisuje Połącz host kodu.

  • Konto GitHub z dostępem do repozytoriów, na których chcesz pracować
  • Albo GitHub App zarejestrowana dla Twojego serwera (zobacz Utwórz GitHub App), aby móc się zalogować, albo osobisty token dostępu z repo i read:org do wklejenia

Przepływ urządzenia: GitHub pokazuje krótki kod, zatwierdzasz go na github.com, a serwer otrzymuje poświadczenie — żaden adres URL wywołania zwrotnego, żaden port, nic do wystawienia na zewnątrz. Dostępne zawsze, gdy serwer ma identyfikator klienta, który oficjalna kompilacja już zawiera.

  1. Przejdź do Ustawienia → Obszar roboczy → Profil i tożsamość → Hosting kodu (albo do pierwszego kroku konfiguracji)
  2. W wierszu GitHub kliknij Zaloguj się przez GitHub
  3. Okno dialogowe pokazuje ośmioznakowy kod i otwiera github.com/login/device w Twojej przeglądarce. Kod jest już w Twoim schowku
  4. Wklej go, zatwierdź aplikację i wróć. Wiersz sam zmieni się na „Zalogowano jako your-username”

Okno dialogowe można zamknąć, kiedy kończysz w przeglądarce — serwer odpytuje dalej, aż kod wygaśnie (około 15 minut), więc logowanie i tak się dokona.

Rozwiązanie zapasowe, gdy serwer nie ma aplikacji, gdy aplikacja nie jest zainstalowana na koncie, którego potrzebujesz, albo gdy po prostu wolisz użyć tokenu PAT.

  1. Przejdź do Ustawienia → Obszar roboczy → Profil i tożsamość → Hosting kodu
  2. W wierszu GitHub kliknij Dodaj token
  3. Wklej token z repo i read:org (klasyczny) i zapisz. Token drobnoziarnisty wymaga uprawnień repozytorium Contents i Pull requests (odczyt i zapis) oraz Checks i Actions (odczyt).

Token jest sprawdzany już przy zapisie, więc wiersz może podać konto, do którego należy. Kliknij Rozłącz, aby go usunąć.

Punkt kontrolny: wiersz GitHub głosi „Zalogowano jako your-username”. Gdy odpowiadające poświadczenie nie jest Twoje, przyrostek wskazuje jego źródło — „przez aplikację tego serwera” albo „ze środowiska”.

Możliwość Jak
Lista i szczegóły PR-ów Interfejs REST API GitHuba, z serwera, na tożsamości aplikacji albo na Twoich własnych poświadczeniach
Uruchomienia kontroli Interfejs Checks API GitHuba
Publikowanie recenzji Krok wymagający zatwierdzenia przez użytkownika, który publikuje Twoją recenzję w PR
Rejestracja repozytoriów Kopia robocza jest przyjmowana, jeśli jej zdalne repozytorium origin wskazuje na github.com — albo na gitlab.com / bitbucket.org
Dostęp agentów do GitHuba Broker poświadczeń wstrzykuje token tylko do odczytu jako GH_TOKEN / GITHUB_TOKEN; push przechodzi przez Control Center
Sygnały powiadomień Odpytywanie po stronie serwera Twojej skrzynki powiadomień GitHub wywołuje „Wzmianka w pull requeście” i „Prośba o recenzję”
Profile użytkowników Karty profili po najechaniu i filtrowanie PR-ów według autora

Niektóre ścieżki używają interfejsu GraphQL API zamiast REST, gdy jest to tańsze — aktywność gałęzi dla selektora tworzenia PR-a oraz bieżący stan recenzji, który decyduje, czy powiadomienie o prośbie o recenzję jest nadal oczekujące.

Pasek tytułu pokazuje wskaźnik statusu, gdy któryś dostawca działa ze zmniejszoną sprawnością — obejmuje to GitHuba, Claude, OpenAI i Kimi. Jest ukryty, dopóki wszystko działa poprawnie — obecność wskaźnika sygnalizuje problem, nie jego brak.

Kliknij wskaźnik, aby otworzyć panel wysuwany ze stanem każdego dostawcy i przyciskiem odświeżania. Statusy odświeżają się same co dwie minuty.

  • Agent pracujący w worktree GitHuba zawsze otrzymuje token GitHub tylko do odczytu. Push przechodzi przez Control Center, który pyta regułę Push do zdalnego repozytorium, a potem przekazuje go z tokenem zapisu, którego agent nigdy nie posiada. Zobacz Skonfiguruj polityki sandboxa
  • Commity tworzone przez agenta mają autora samego agenta — nazwę wyświetlaną plus (agent), pod syntetycznym adresem opartym na identyfikatorze agenta — nigdy nie człowieka. Osoba, która o nie poprosiła, jest ujęta w stopce Co-Authored-By
  • Gdy skonfigurowano GitHub App, broker tworzy przy każdym uruchomieniu drobnoziarniste tokeny instalacji o zasięgu repozytorium, ważne około godziny, zamiast przekazywać szeroki token. Instalacja jest ustalana na podstawie właściciela repozytorium danego uruchomienia, więc jedna aplikacja zainstalowana na kilku kontach obejmuje właściwe z nich — to, którego dotknie uruchomienie. Bez aplikacji agenci otrzymują token ze środowiska, którego nie da się ograniczyć do odczytu: reguła push wiąże wtedy git push, ale nie kod, który używa tokenu bezpośrednio
  • Token zawsze należy do brokera, nigdy do członka, który zlecił uruchomienie. Token serwera jest wstrzymywany dla uruchomienia działającego w imieniu członka, który nie jest właścicielem i nie połączył GitHuba

Lista PR-ów jest pusta i informuje, że GitHub nie jest połączony

Dział zatytułowany „Lista PR-ów jest pusta i informuje, że GitHub nie jest połączony”

Nie masz poświadczenia GitHub na tym serwerze. Zaloguj się albo wklej token w Hostingu kodu. Repozytoria na innych forge pozostają bez zmian — tylko te z GitHuba nie wnoszą nic.

Wiersz oferuje „Dodaj token”, ale nie „Zaloguj się przez GitHub”

Dział zatytułowany „Wiersz oferuje „Dodaj token”, ale nie „Zaloguj się przez GitHub””

Serwer nie ma identyfikatora klienta — to normalny stan dla kompilacji ze źródeł, ponieważ poświadczenia są wbudowywane wyłącznie w oficjalne kompilacje. Zobacz Utwórz GitHub App: zajmuje to około dwóch minut i raz musi to zrobić tylko właściciel serwera.

Okno logowania informuje, że dostawca nie zwrócił kodu urządzenia

Dział zatytułowany „Okno logowania informuje, że dostawca nie zwrócił kodu urządzenia”

GitHub App istnieje, ale jej pole wyboru Device flow jest wyłączone. Włącz je w ustawieniach aplikacji (General → Device flow) i spróbuj ponownie.

Wiersz mówi „przez aplikację tego serwera”, choć oczekujesz własnego konta

Dział zatytułowany „Wiersz mówi „przez aplikację tego serwera”, choć oczekujesz własnego konta”

Nie zalogowałeś się; to, co widzisz, to odpowiadająca tożsamość aplikacji serwera. Kliknij Zaloguj się przez GitHub w tym wierszu.

Drobnoziarnisty PAT nie pokazuje przycisku scalania ani stanu kontroli

Dział zatytułowany „Drobnoziarnisty PAT nie pokazuje przycisku scalania ani stanu kontroli”

Token wymaga Contents i Pull requests (odczyt i zapis) oraz Checks i Actions (odczyt). Po zmianie wklej go ponownie w Hostingu kodu.

Rejestracja wymaga wszystkich trzech warunków: ścieżka znajduje się w drzewie roboczym Gita, repozytorium ma zdalne origin, a to zdalne repozytorium wskazuje na obsługiwany forge (github.com, gitlab.com lub bitbucket.org). Zobacz Dodaj repozytoria do obszaru roboczego.

Po intensywnym użytkowaniu wszystko na jakiś czas przestaje działać

Dział zatytułowany „Po intensywnym użytkowaniu wszystko na jakiś czas przestaje działać”

To wyłącznik bezpieczeństwa przy limicie żądań. GitHub sygnalizuje swój główny limit odpowiedzią 403 z nagłówkiem x-ratelimit-remaining: 0 i czasem resetu; gdy klient ją zobaczy, odrzuca kolejne żądania lokalnie, bez wywołania sieciowego, aż upłynie okno — dzięki temu burza ponowień nie pogłębia limitu. Przejściowe błędy są ponawiane maksymalnie trzy razy z wykładniczym opóźnieniem, z poszanowaniem nagłówka retry-after.