Lewati ke konten

Siapkan integrasi GitHub

Panduan ini membahas bagian-bagian penyiapan yang khusus untuk GitHub. GitHub adalah salah satu dari tiga host kode yang didukung — lihat Hubungkan host kode untuk menghubungkan GitLab atau Bitbucket, dan untuk cara sebuah ruang kerja memadukan ketiganya.

  • Akun GitHub dengan akses ke repo yang ingin Anda kerjakan
  • Baik GitHub App yang terdaftar untuk server Anda (lihat Buat GitHub App) agar Anda dapat masuk, atau personal access token dengan repo dan read:org untuk ditempel

Sebuah alur perangkat: GitHub menampilkan kode singkat kepada Anda, Anda menyetujuinya di github.com, lalu server menerima kredensialnya — tanpa URL callback, tanpa port, tidak ada yang perlu diekspos. Tersedia kapan pun server punya client id, yang sudah disertakan pada build resmi.

  1. Buka Pengaturan → Ruang kerja → Profil & identitas → Hosting kode (atau langkah pertama onboarding)
  2. Pada baris GitHub, klik Masuk dengan GitHub
  3. Dialog menampilkan kode delapan karakter dan membuka github.com/login/device di browser Anda. Kodenya sudah ada di papan klip Anda
  4. Tempel kode itu, setujui aplikasinya, lalu kembali. Barisnya berubah sendiri menjadi “Masuk sebagai your-username”

Dialog boleh ditutup selama Anda menyelesaikan prosesnya di browser — server terus melakukan polling sampai kodenya kedaluwarsa (sekitar 15 menit), sehingga proses masuknya tetap berhasil.

Alternatif yang dipakai saat server tidak punya app, saat app tidak terpasang di akun yang Anda butuhkan, atau saat Anda memang lebih suka memakai PAT.

  1. Buka Pengaturan → Ruang kerja → Profil & identitas → Hosting kode
  2. Pada baris GitHub, klik Tambah token
  3. Tempel token dengan repo dan read:org (classic) lalu simpan. Token fine-grained memerlukan Contents dan Pull requests pada repositori (baca dan tulis), ditambah Checks dan Actions (baca).

Token diperiksa saat disimpan, sehingga barisnya dapat menyebutkan akun pemiliknya. Klik Putuskan untuk menghapusnya.

Titik pemeriksaan: baris GitHub berbunyi “Masuk sebagai your-username”. Sebuah sufiks menyebutkan sumbernya saat kredensial yang menjawab bukan milik Anda — “lewat aplikasi server ini” atau “dari environment”.

Fitur Cara
Daftar dan detail PR API REST GitHub, dari server, dengan identitas app atau kredensial Anda sendiri
Hasil pemeriksaan API Checks GitHub
Publikasi tinjauan Langkah dengan gerbang pengguna yang memposting tinjauan Anda ke PR
Pendaftaran repo Sebuah checkout diterima jika remote origin-nya menunjuk ke github.com — atau ke gitlab.com / bitbucket.org
Akses GitHub agen Broker kredensial menyuntikkan token hanya-baca sebagai GH_TOKEN / GITHUB_TOKEN; push melewati Control Center
Ping notifikasi Polling di sisi server atas kotak masuk notifikasi GitHub Anda memunculkan “Disebutkan di pull request” dan “Tinjauan diminta”
Profil pengguna Kartu hover profil dan pemfilteran PR per penulis

Sejumlah jalur memakai API GraphQL alih-alih REST jika lebih murah — aktivitas cabang untuk pemilih compose-PR dan keadaan tinjauan langsung yang menentukan apakah notifikasi permintaan tinjauan masih menggantung.

Bilah judul menampilkan chip status saat sebuah penyedia sedang terganggu, mencakup GitHub, Claude, OpenAI, dan Kimi. Chip itu disembunyikan selama semuanya sehat — kehadirannya menandakan ada masalah, bukan ketiadaannya.

Klik chip itu untuk membuka panel sembul berisi status tiap penyedia dan tombol segarkan. Statusnya diperbarui sendiri setiap dua menit.

  • Agen yang bekerja di worktree GitHub selalu mendapat token GitHub hanya-baca. Push melewati Control Center, yang menanyakan aturan Push ke remote lalu meneruskannya dengan token tulis yang tidak pernah dipegang agen. Lihat Konfigurasi kebijakan sandbox
  • Commit yang dibuat agen ditulis atas nama agen — nama tampilan ditambah (agent), pada alamat sintetis yang dikunci berdasarkan id agen — tidak pernah atas nama manusia. Orang yang memintanya dicantumkan lewat trailer Co-Authored-By
  • Jika GitHub App dikonfigurasi, broker menerbitkan token instalasi fine-grained, terbatas pada repo, berdurasi sekitar satu jam untuk setiap peluncuran, alih-alih menyerahkan token yang luas. Instalasinya ditentukan dari owner repo run tersebut, sehingga satu app yang terpasang di beberapa akun tercakup dengan benar ke akun mana pun yang disentuh run itu. Tanpa app, agen menerima token dari environment, yang tidak dapat dipersempit menjadi hanya-baca: aturan push lalu mengikat git push, tetapi tidak kode yang memakai token secara langsung
  • Token selalu milik broker, tidak pernah milik anggota yang meminta. Token server ditahan dari run yang bertindak untuk anggota yang bukan pemilik dan belum menghubungkan GitHub

Daftar PR kosong dan menyebut GitHub tidak terhubung

Bagian berjudul “Daftar PR kosong dan menyebut GitHub tidak terhubung”

Anda tidak punya kredensial GitHub di server ini. Masuk atau tempel token di Hosting kode. Repo di host kode lain tidak terpengaruh — hanya repo GitHub yang tidak menyumbang apa pun.

Baris menawarkan “Tambah token” tetapi tidak ada “Masuk dengan GitHub”

Bagian berjudul “Baris menawarkan “Tambah token” tetapi tidak ada “Masuk dengan GitHub””

Server tidak punya client id — kondisi yang normal untuk build dari sumber, karena kredensial hanya ditanam pada build resmi. Lihat Buat GitHub App: prosesnya sekitar dua menit dan hanya pemilik server yang perlu melakukannya, sekali saja.

Dialog masuk menyebutkan penyedia tidak mengembalikan kode perangkat

Bagian berjudul “Dialog masuk menyebutkan penyedia tidak mengembalikan kode perangkat”

GitHub App-nya ada, tetapi centang Device flow-nya mati. Aktifkan di pengaturan app tersebut (General → Device flow) lalu coba lagi.

Baris menyebutkan “lewat aplikasi server ini” padahal saya mengharapkan akun saya sendiri

Bagian berjudul “Baris menyebutkan “lewat aplikasi server ini” padahal saya mengharapkan akun saya sendiri”

Anda belum masuk; yang Anda lihat adalah identitas app server yang menjawab. Klik Masuk dengan GitHub pada baris tersebut.

PAT fine-grained tidak menampilkan tombol merge atau status pemeriksaan

Bagian berjudul “PAT fine-grained tidak menampilkan tombol merge atau status pemeriksaan”

Token tersebut memerlukan Contents dan Pull requests (baca dan tulis), ditambah Checks dan Actions (baca). Setelah mengubahnya, tempel lagi di Hosting kode.

Pendaftaran mensyaratkan ketiganya: path berada di dalam work tree git, ada remote origin, dan remote tersebut menunjuk ke host kode yang didukung (github.com, gitlab.com, atau bitbucket.org). Lihat Tambahkan repo ke ruang kerja.

Semua berhenti berfungsi untuk sementara setelah pemakaian berat

Bagian berjudul “Semua berhenti berfungsi untuk sementara setelah pemakaian berat”

Itulah pemutus sirkuit batas laju. GitHub menandai batas utamanya dengan 403 yang membawa x-ratelimit-remaining: 0 dan waktu reset; ketika melihatnya, klien menggagalkan permintaan berikutnya secara lokal tanpa panggilan jaringan sampai jendela waktunya lewat, sehingga badai percobaan ulang tidak dapat memperparah batas tersebut. Kegagalan sementara dicoba ulang hingga tiga kali dengan backoff eksponensial, dengan menghormati retry-after.