Bir GitHub PR'dan Control Center ile konuşma
Bu kılavuz, GitHub’dan ayrılmadan Control Center ile nasıl çalışacağınızı gösterir: PR sayfasından bir YZ incelemesi isteyin, bir yorumda bota soru sorun ve konuşmayı botun inceleme konularında sürdürün.
Bot, sunucunuzun kendi GitHub App uygulamasıdır — insanları zaten oturum açtıran ve arka plan işlerini yürüten aynı uygulama. Yeni hiçbir şey kaydedilmez ve hiçbir şeyin internetten erişilebilir olması gerekmez: sunucu, GitHub’da söylenenleri yoklayarak keşfeder; böylece NAT arkasındaki bir dizüstü bilgisayar, genel bir dağıtımla tamamen aynı davranır.
Ön koşullar
Bölüm başlığı “Ön koşullar”- Sunucunun GitHub App’i kayıtlı ve kurulu olmalı; Pull requests: read and write (yorumlar, konular ve tepkiler için) ve Issues: read (yorum araması için) izinleriyle. Her ikisi de o kılavuzun izin listesinde zaten var
- Depo, Control Center’da bir çalışma alanına bağlı
- Webhook URL’si yok, tünel yok, geri çağırma yok — ağ tarafında yapılandırılacak hiçbir şey yok
Botunuzun adını bulun
Bölüm başlığı “Botunuzun adını bulun”Botun giriş adı <appslug>[bot] biçimindedir; burada appslug, uygulamayı
kaydederken verdiğiniz addır.
- Ayarlar → Sunucu → Tek oturum açma bölümüne gidin ve Sağlayıcı uygulamaları kartına kaydırın
- GitHub bloğunu açın ve Test’e tıklayın
- Bot girişi dolduğunda kopyalayın. Hâlâ boş ipucunu gösteriyorsa giriş
adı her zaman
<appslug>[bot]biçimindedir — bunu yazın, ya da kısa@appslugbiçimini kullanın
GitHub, @ otomatik tamamlamasında uygulama hesaplarını sunmaz; dolayısıyla
giriş adının elle yazılması gerekir — ayarlar kartının kopyalamayı tek
tıklamaya indirmesinin nedeni budur. [bot] soneki isteğe bağlıdır: @myapp
ve @myapp[bot] ikisi de bota seslenir.
GitHub’dan inceleme isteyin
Bölüm başlığı “GitHub’dan inceleme isteyin”İki yol var; ikisi de AI’ya sor düğmesinin başlattığı aynı hazır gelen
pr_review pipeline’ını başlatır:
- PR’a
ai-reviewetiketini ekleyin. Bu, GitHub’ın botu inceleyici olarak atamaya sunduğu en yakın şeydir — uygulama hesapları, yerel olarak istenen inceleyici yerini dolduramaz. Tepki verilecek bir yorum yoktur, dolayısıyla GitHub’da hiçbir şey yayımlanmaz; inceleme Control Center’da başlar - PR konuşmasına
@myapp reviewyazın (ya da yalnızca@myapp). Bot 👀 ile tepki verir, ardından inceleme başladığında (ya da zaten bir incelemenin çalıştığını) yanıtlar
İnceleyiciler PR’ın inceleme alanında çalışır; bulguları YZ destekli inceleme kullanma sayfasındaki gibi okuyun ve yayımlayın. GitHub’a geri yayımlamak, Control Center’da verdiğiniz bir karar olarak kalır — GitHub’dan bir inceleme başlatmak kendi başına GitHub’a hiçbir şey yayımlamaz.
Etiket PR başına bir kez tetiklenir: onu eklemek isteğin kendisidir ve kaldırılıp yeniden eklendiğinde yeniden kurulmaz. Bir incelemeyi yeniden çalıştırmak için — sözgelimi bir push’un ardından — botu anın.
Soru sorun
Bölüm başlığı “Soru sorun”PR konuşmasına yorum yapın:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?Sırasıyla olanlar:
- Bot 👀 ile tepki verir, böylece yorumun görüldüğünü anlarsınız
- Soru, PR’ın inceleme alanına siz olarak gönderilir — Control Center’da kendiniz yazmışsınız gibi aynı atıfla
- Bir ajan alanda yanıtlar ve yanıt, PR’a sizden @ ile söz eden bir yorum olarak geri gönderilir
Henüz incelemesi olmayan bir PR’daki soru, çalışma alanının CEO ajanını uyandırır; bir inceleme çalıştıktan sonra ise son konuşan ajan yanıtlar, böylece takip soruları bağlama sahip olana ulaşır.
Bir inceleme konusunda takip edin
Bölüm başlığı “Bir inceleme konusunda takip edin”Botun parçası olduğu satır içi bir inceleme konusunun içinde yanıtlayın — bıraktığı bir diff yorumu ya da o konuda gönderdiği bir yanıt. Anmaya gerek yoktur; hitap konunun kendisidir:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?Çok turlu akış da aynı şekilde işler: her yanıt, inceleme alanını bağlam olarak kullanan aynı konuşmadaki bir başka sorudur ve yanıt konuda geri döner.
PR konuşması zaman çizelgesindeki bir takip sorusu, üst düzey yeni bir yorumdur, dolayısıyla yine bir @ ile anma gerektirir.
Bot kiminle konuşur
Bölüm başlığı “Bot kiminle konuşur”Bir GitHub yorumu, bir giriş adından biraz fazlası olarak gelir; dolayısıyla bot, herhangi bir şey yapmadan önce yazarı çözümler:
- GitHub hesabınız, Control Center’da kimliğinize bağlı olmalıdır — Ayarlar → Çalışma alanı → Profil ve kimlik → Kod barındırma altından GitHub ile oturum açın ya da bir token yapıştırın
- Depoyu bağlayan çalışma alanında yazma rolüne sahip bir üye olmalısınız
(
member,adminveyaowner)
Başka herkes, neyin eksik olduğunu açıklayan tek bir kibar yanıt alır ve
sözleri çalışma alanına asla girmez; bilinmeyen bir giriş adı (bağlı değil ya
da bağlı ama burada üye değil) ile salt okunur bir rol, söz konusu iki
durumdur. ai-review etiketi bu şekilde kısıtlanmaz: yazarı yoktur, dolayısıyla
incelemeyi depoyu zaten bağlayan çalışma alanında başlatır.
Neler beklemeli
Bölüm başlığı “Neler beklemeli”| Şey | Davranış |
|---|---|
| Alındı bildirimi | Bir yorumda yaklaşık bir dakika içinde 👀 — tarama aralığı. ai-review etiketinin tepki verilecek bir yorumu yoktur |
| Yanıtlar | Bot (uygulama) olarak, sorunun sorulduğu kanalda gönderilir |
| Alan içi atıf | Soru size aittir; ajan, alanın özerklik ayarları altında sizin adınıza çalışır |
| İncelemeler | Bulgular inceleme alanına düşer; GitHub’a yayımlamak elle yapılır |
Yaklaşık bir dakikalık gecikme, hiç gelen ağ erişimi gerektirmemenin bedelidir. Taramayla ilgili acil hiçbir şey yoktur ve sunucu çevrimdışıyken hiçbir şey kaybolmaz — kesinti sırasında gelen bir yorum, bir sonraki taramada yakalanır.
Sorun giderme
Bölüm başlığı “Sorun giderme”Botu anan bir yorumda hiçbir şey olmuyor.
- Uygulama, depoya sahip hesapta kurulu mu ve depo bir çalışma alanına bağlı mı? Bağlı olmayan bir depo, hiçbir şey kaydedilmeden önce atlanır; dolayısıyla sonradan bağlamak yine de teslim eder
- GitHub hesabınız bağlı mı ve yazma rolüne sahip bir üye misiniz? PR’da botun ret yanıtına bakın — hangisi olduğunu söyler
- Hâlâ hiçbir şey yok mu? Bir şey başarısız olduğunda sunucu günlüğü taramayı
ve PR’ı adlandırır;
pr_conversation:(yoklayıcı) vegithub_pr_conversation:(köprü) aramalarına bakın
Etiket bir inceleme başlatmıyor.
PR başına bir kez tetiklenir. Bir inceleme zaten çalıştıysa ya da etiket,
sunucu PR’ı hiç görmeden önce eklendiyse (ilk tarama, birikmiş işleri üzerine
salmak yerine sessizce kaydeder), bunun yerine botu anın — bir inceleme zaten
yürürlükte değilse @myapp review her zaman bir tane başlatır.
Botun yanıtı GitHub’a hiç ulaşmadı.
Yanıtın kendisi hiç kaybolmaz — Control Center’da PR’ın inceleme alanındadır. Gönderme hatası (GitHub çalışmıyor, izinler değişti) günlüğe kaydedilir ve yanıt yeniden denenmez; önemliyse konuda tekrar sorun.
İlgili kılavuzlar
Bölüm başlığı “İlgili kılavuzlar”- GitHub App oluşturma: botun doğduğu kayıt
- YZ destekli inceleme kullanma: bir anmayla başlatılan incelemenin ürettiği bulguları okuma
- GitHub entegrasyonunu kurma: botun sizi çözümlediği kendi GitHub hesabınızı bağlama
- Alanları kullanma: tüm bunların düştüğü oda