Bicara ke Control Center dari PR GitHub
Panduan ini menunjukkan cara bekerja dengan Control Center tanpa meninggalkan GitHub: minta tinjauan AI dari halaman PR, ajukan pertanyaan kepada bot di sebuah komentar, dan lanjutkan percakapan di utas tinjauannya.
Bot ini adalah GitHub App milik server Anda sendiri — app yang sama yang sudah menangani proses masuk pengguna dan menjalankan pekerjaan latar belakang. Tidak ada yang didaftarkan baru, dan tidak ada yang harus dapat dijangkau dari internet: server menemukan apa yang dikatakan di GitHub lewat polling, sehingga laptop di balik NAT berperilaku persis seperti deployment publik.
Prasyarat
Bagian berjudul “Prasyarat”- Server sudah mendaftarkan dan memasang GitHub App-nya, dengan Pull requests: read and write (untuk komentar, utas, dan reaksi) dan Issues: read (untuk pencarian komentar). Keduanya sudah ada di daftar izin panduan tersebut
- Repositori sudah ditautkan ke sebuah ruang kerja di Control Center
- Tanpa URL webhook, tanpa tunnel, tanpa callback — tidak ada yang perlu dikonfigurasi di sisi jaringan
Cari nama bot Anda
Bagian berjudul “Cari nama bot Anda”Login bot adalah <appslug>[bot], dengan appslug sebagai nama yang Anda
berikan saat mendaftarkan app.
- Buka Pengaturan → Server → Single sign-on dan gulir ke kartu Aplikasi penyedia
- Buka blok GitHub dan klik Tes
- Salin Login bot saat nilainya terisi. Jika masih menampilkan petunjuk
kosong, login-nya selalu
<appslug>[bot]— ketik itu, atau bentuk pendeknya@appslug
GitHub tidak menyediakan akun app di pelengkapan otomatis @-nya, jadi
login-nya harus diketik — itulah sebabnya kartu pengaturan menyediakannya untuk
disalin dalam satu klik. Akhiran [bot] bersifat opsional: @myapp dan
@myapp[bot] sama-sama mengalamatkan bot.
Minta tinjauan dari GitHub
Bagian berjudul “Minta tinjauan dari GitHub”Ada dua cara, keduanya memulai pipeline pr_review bawaan yang sama seperti
yang dimulai tombol Tanya AI:
- Tambahkan label
ai-reviewke PR. Ini adalah hal terdekat yang ditawarkan GitHub untuk menugaskan bot sebagai peninjau — akun app tidak dapat mengisi slot peninjau yang diminta secara native. Tidak ada komentar untuk direaksikan, jadi tidak ada yang diposting ke GitHub; tinjauan dimulai di Control Center - Komentari
@myapp review(atau cukup@myapp) di percakapan PR. Bot bereaksi dengan 👀, lalu membalas saat tinjauan sudah dimulai (atau bahwa satu tinjauan sedang berjalan)
Para peninjau bekerja di space tinjauan milik PR; baca dan publikasikan temuannya seperti pada Gunakan tinjauan bertenaga AI. Penerbitan kembali ke GitHub tetap merupakan keputusan yang Anda buat di Control Center — memulai tinjauan dari GitHub tidak memublikasikan apa pun ke GitHub dengan sendirinya.
Label ini menyala sekali per PR: menambahkannya adalah permintaannya, dan label ini tidak dipersenjatai ulang saat dihapus lalu ditambahkan lagi. Untuk menjalankan tinjauan lagi — misalnya setelah push — sebut bot.
Ajukan pertanyaan
Bagian berjudul “Ajukan pertanyaan”Komentari percakapan PR:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?Apa yang terjadi, secara berurutan:
- Bot bereaksi dengan 👀 agar Anda tahu komentarnya terlihat
- Pertanyaan diposting ke space tinjauan milik PR atas nama Anda — atribusi yang sama seperti jika Anda mengetiknya di Control Center
- Seorang agen menjawab di space tersebut, dan jawabannya diposting kembali di PR sebagai komentar yang menyebut Anda dengan @
Pertanyaan pada PR yang belum ditinjau akan membangunkan agen CEO ruang kerja; setelah sebuah tinjauan berjalan, agen yang terakhir berbicara akan menjawab, sehingga tindak lanjutnya sampai ke pihak yang memiliki konteksnya.
Tindak lanjuti di utas tinjauan
Bagian berjudul “Tindak lanjuti di utas tinjauan”Balas di dalam utas tinjauan inline tempat bot menjadi bagiannya — komentar diff yang ditinggalkannya, atau jawaban yang dipostingnya di utas itu. Tidak perlu sebutan; utas itu sendiri adalah alamatnya:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?Percakapan multi-giliran bekerja dengan cara yang sama: setiap balasan adalah pertanyaan lain dalam percakapan yang sama, dengan space tinjauan sebagai konteks, dan jawabannya kembali di utas tersebut.
Tindak lanjut pada linimasa percakapan PR adalah komentar tingkat teratas yang baru, jadi tetap memerlukan @mention.
Dengan siapa bot berbicara
Bagian berjudul “Dengan siapa bot berbicara”Komentar GitHub datang hanya membawa login, tidak lebih, sehingga bot menyelesaikan penulisnya sebelum melakukan apa pun:
- Akun GitHub Anda harus ditautkan ke identitas Anda di Control Center — masuk dengan GitHub, atau tempel token, dari Pengaturan → Ruang kerja → Profil & identitas → Hosting kode
- Anda harus menjadi anggota dengan peran tulis (
member,admin, atauowner) di ruang kerja yang menautkan repositori tersebut
Siapa pun selain itu mendapat satu balasan sopan yang menjelaskan apa yang
kurang — login yang tidak dikenal (belum ditautkan, atau ditautkan tetapi bukan
anggota di sini) dan peran hanya-baca adalah dua kasusnya — dan kata-kata mereka
tidak pernah masuk ke ruang kerja. Label ai-review tidak digerbangi seperti
ini: label ini tidak punya penulis, jadi label ini memulai tinjauan di ruang
kerja yang sudah menautkan repo tersebut.
Yang bisa Anda harapkan
Bagian berjudul “Yang bisa Anda harapkan”| Hal | Perilaku |
|---|---|
| Pengakuan | 👀 pada sebuah komentar dalam waktu sekitar satu menit — interval penyapuan. Label ai-review tidak punya komentar untuk direaksikan |
| Jawaban | Diposting sebagai bot (app), di jalur tempat pertanyaan diajukan |
| Atribusi di dalam space | Pertanyaannya milik Anda; agen berjalan atas nama Anda, di bawah pengaturan otonomi space |
| Tinjauan | Temuan mendarat di space tinjauan; publikasi ke GitHub dilakukan secara manual |
Latensi sekitar satu menit itu adalah harga yang dibayar agar tidak perlu akses jaringan masuk sama sekali. Tidak ada yang mendesak dari penyapuan ini, dan tidak ada yang hilang saat server offline — komentar yang tiba selama server mati akan tertangkap pada penyapuan berikutnya.
Pemecahan masalah
Bagian berjudul “Pemecahan masalah”Tidak ada yang terjadi untuk komentar yang menyebut bot.
- Apakah app sudah dipasang di akun yang memiliki repo tersebut, dan repo-nya sudah ditautkan ke sebuah ruang kerja? Repo yang belum ditautkan dilewati sebelum apa pun dicatat, jadi menautkannya nanti tetap akan mengantarkan
- Apakah akun GitHub Anda sudah ditautkan, dan apakah Anda anggota dengan peran tulis? Periksa PR untuk balasan penolakan dari bot — balasan itu menyebutkan kasus yang mana
- Masih tidak ada? Log server menyebutkan penyapuan dan PR-nya ketika ada yang
gagal; cari
pr_conversation:(penyapu) dangithub_pr_conversation:(jembatan)
Label tidak memulai tinjauan.
Label ini menyala sekali per PR. Jika tinjauan sudah pernah berjalan, atau label
ditambahkan sebelum server pernah melihat PR tersebut (penyapuan pertama
mencatat tumpukan yang tertunda secara senyap alih-alih menyerbunya), sebut bot
sebagai gantinya — @myapp review selalu memulai tinjauan kecuali sudah ada
tinjauan yang sedang berjalan.
Jawaban bot tidak pernah tiba di GitHub.
Jawabannya sendiri tidak pernah hilang — jawaban itu ada di space tinjauan milik PR di Control Center. Kegagalan posting (GitHub mati, izin berubah) akan dicatat dan balasannya tidak dicoba ulang; tanyakan lagi di utas tersebut jika hal itu penting.
Panduan terkait
Bagian berjudul “Panduan terkait”- Buat GitHub App: pendaftaran tempat bot ini berasal
- Gunakan tinjauan bertenaga AI: membaca temuan yang dihasilkan tinjauan yang dimulai oleh sebutan
- Siapkan integrasi GitHub: menautkan akun GitHub Anda sendiri, yang menjadi dasar bot menyelesaikan identitas Anda
- Gunakan space: ruangan tempat semua ini bermuara