İçeriğe geç

GitHub entegrasyonunu kurma

Bu kılavuz, kurulumun GitHub’a özgü kısımlarını ele alır. GitHub, desteklenen üç kod barındırıcısından biridir — GitLab ya da Bitbucket’ı bağlamak ve bir çalışma alanının bunları nasıl karıştırdığı için Bir kod barındırıcısı bağlama sayfasına bakın.

  • Üzerinde çalışmak istediğiniz depolara erişimi olan bir GitHub hesabı
  • Sunucunuz için kaydedilmiş bir GitHub App (bkz. GitHub App oluşturma) — böylece oturum açabilirsiniz — ya da yapıştırmak için repo ve read:org yetkilerine sahip bir kişisel erişim token’ı

Bir cihaz akışı: GitHub size kısa bir kod gösterir, siz onu github.com’da onaylarsınız ve sunucu kimlik bilgisini alır — callback URL yok, port yok, açığa çıkarılacak hiçbir şey yok. Sunucunun bir istemci id’si olduğunda kullanılabilir; resmî bir yapı bunu zaten içerir.

  1. Ayarlar → Çalışma alanı → Profil ve kimlik → Kod barındırma bölümüne gidin (ya da ilk kurulumun ilk adımına)
  2. GitHub satırında GitHub ile oturum aç’a tıklayın
  3. Bir iletişim kutusu sekiz karakterlik bir kod gösterir ve tarayıcınızda github.com/login/device adresini açar. Kod zaten panonuzdadır
  4. Yapıştırın, uygulamayı onaylayın ve geri dönün. Satır kendiliğinden “kullanıcı-adınız olarak oturum açıldı” durumuna geçer

Tarayıcıda işinizi bitirirken iletişim kutusu kapatılabilir — sunucu, kodun süresi dolana kadar (yaklaşık 15 dakika) yoklamayı sürdürür; böylece oturum açma yine de tamamlanır.

Sunucunun uygulaması olmadığında, uygulama ihtiyaç duyduğunuz bir hesaba kurulmadığında ya da yalnızca bir PAT kullanmayı tercih ettiğinizdeki geri dönüş yolu.

  1. Ayarlar → Çalışma alanı → Profil ve kimlik → Kod barındırma bölümüne gidin
  2. GitHub satırında Token ekle’ye tıklayın
  3. repo ve read:org içeren bir token yapıştırın (klasik) ve kaydedin. İnce taneli bir token için depo Contents ve Pull requests (okuma ve yazma) ile Checks ve Actions (okuma) gerekir.

Token saklanırken sınanır; böylece satır ait olduğu hesabı adlandırabilir. Kaldırmak için Bağlantıyı kes’e tıklayın.

Kontrol noktası: GitHub satırı “kullanıcı-adınız olarak oturum açıldı” yazar. Yanıt veren kimlik bilgisi sizinki olmadığında bir son ek kaynağı adlandırır — “bu sunucunun uygulaması üzerinden” ya da “ortamdan”.

Özellik Nasıl
PR listesi ve ayrıntısı Sunucudan, uygulama kimliğiyle ya da kendi kimlik bilginizle GitHub REST API’si
Kontrol çalıştırmaları GitHub Checks API’si
İnceleme yayımlama İncelemenizi PR’a gönderen, kullanıcı kapılı bir adım
Depo kaydı Bir checkout, origin remote’u github.com’a — ya da gitlab.com / bitbucket.org’a — işaret ediyorsa kabul edilir
Ajanın GitHub erişimi Kimlik bilgisi broker’ı salt okunur bir token’ı GH_TOKEN / GITHUB_TOKEN olarak enjekte eder; push’lar Control Center’dan geçer
Bildirim ping’leri GitHub bildirim gelen kutunuzu sunucu tarafında yoklamak “Pull request’te bahsedildi” ve “İnceleme istendi” bildirimlerini tetikler
Kullanıcı profilleri Profil üzerine gelme kartları ve yazara göre PR filtreleme

Bazı yollar, daha ucuza geldiği yerlerde REST yerine GraphQL API’sini kullanır — PR oluşturma seçicisi için dal etkinliği ve bir inceleme istendi bildiriminin hâlâ beklemede olup olmadığını belirleyen canlı inceleme durumu.

Bir sağlayıcı bozulduğunda başlık çubuğu GitHub, Claude, OpenAI ve Kimi’yi kapsayan bir durum çipi gösterir. Her şey yolundayken gizlenir — varlık sorunu bildirir, yokluğunu değil.

Her sağlayıcının durumunu ve bir yenile düğmesini içeren bir açılır panel açmak için çipe tıklayın. Durumlar her iki dakikada bir kendiliğinden yenilenir.

Ajanların GitHub’da nasıl davrandığını bilin

Bölüm başlığı “Ajanların GitHub’da nasıl davrandığını bilin”
  • Bir GitHub çalışma ağacında çalışan bir ajan her zaman salt okunur bir GitHub token’ı alır. Bir push, Uzak depoya push et kuralına soran ve ardından onu ajanın asla elinde tutmadığı bir yazma token’ıyla ileten Control Center’dan geçer. Bkz. Sandbox politikalarını yapılandırma
  • Bir ajanın yaptığı commit’ler ajan olarak yazılır — görünen ad artı (agent), ajanın kimliğine göre anahtarlanmış sentetik bir adreste — asla bir insan olarak değil. İsteyen kişi bir Co-Authored-By trailer’ıyla anılır
  • Bir GitHub App yapılandırıldığında broker, geniş bir token vermek yerine her başlatma için ince taneli, depo kapsamlı, kabaca bir saatlik kurulum token’ları üretir. Kurulum, çalıştırmanın deposunun sahibinden çözülür; böylece birkaç hesaba kurulmuş tek bir uygulama, çalıştırmanın hangisine dokunduğuna göre doğru şekilde kapsamlanır. Uygulama yoksa ajanlar, salt okunura daraltılamayan ortam token’ını alır: push kuralı o zaman git push’u bağlar, ama token’ı doğrudan kullanan kodu bağlamaz
  • Token her zaman broker’ındır, asla isteği yapan üyenin kendisinin değildir. Sunucunun token’ı, sahibi olmayan ve GitHub’ı bağlamamış bir üye adına hareket eden bir çalıştırmadan esirgenir

PR listesi boş ve GitHub’ın bağlı olmadığını söylüyor

Bölüm başlığı “PR listesi boş ve GitHub’ın bağlı olmadığını söylüyor”

Bu sunucuda GitHub kimlik bilginiz yok. Kod barındırma altında oturum açın ya da bir token yapıştırın. Diğer forge’lardaki depolar etkilenmez — yalnızca GitHub’ınkiler hiçbir şey katmaz.

Satır “Token ekle” sunuyor ama “GitHub ile oturum aç” sunmuyor

Bölüm başlığı “Satır “Token ekle” sunuyor ama “GitHub ile oturum aç” sunmuyor”

Sunucunun istemci id’si yok — bu, kaynaktan derlenen bir yapı için normal durumdur; çünkü kimlik bilgileri yalnızca resmî yapılara gömülür. Bkz. GitHub App oluşturma: yaklaşık iki dakika sürer ve yalnızca sunucu sahibinin, bir kez yapması gerekir.

Oturum açma iletişim kutusu sağlayıcının cihaz kodu döndürmediğini söylüyor

Bölüm başlığı “Oturum açma iletişim kutusu sağlayıcının cihaz kodu döndürmediğini söylüyor”

GitHub App var ama Device flow onay kutusu kapalı. Uygulamanın ayarlarında (General → Device flow) açıp yeniden deneyin.

Satır, kendi hesabımı beklerken “bu sunucunun uygulaması üzerinden” diyor

Bölüm başlığı “Satır, kendi hesabımı beklerken “bu sunucunun uygulaması üzerinden” diyor”

Oturum açmamışsınız; gördüğünüz şey sunucunun uygulama kimliğinin yanıt vermesi. O satırda GitHub ile oturum aç’a tıklayın.

İnce taneli bir PAT birleştirme düğmesi ya da kontrol durumu göstermiyor

Bölüm başlığı “İnce taneli bir PAT birleştirme düğmesi ya da kontrol durumu göstermiyor”

Token’ın Contents ve Pull requests (okuma ve yazma) ile Checks ve Actions (okuma) yetkilerine ihtiyacı vardır. Değiştirdikten sonra Kod barındırma altında yeniden yapıştırın.

Kayıt için üçünün de olması gerekir: yol bir git çalışma ağacının içindedir, bir origin remote’u vardır ve o remote desteklenen bir forge’a (github.com, gitlab.com ya da bitbucket.org) işaret eder. Bkz. Bir çalışma alanına depo ekleme.

Yoğun kullanımdan sonra her şey bir süre çalışmayı durduruyor

Bölüm başlığı “Yoğun kullanımdan sonra her şey bir süre çalışmayı durduruyor”

Bu, hız sınırı devre kesicisidir. GitHub birincil sınırına ulaştığını x-ratelimit-remaining: 0 taşıyan bir 403 ve bir sıfırlama zamanıyla bildirir; istemci bunu gördüğünde, pencere geçene kadar ağ çağrısı yapmadan daha fazla isteği yerel olarak başarısız kılar; böylece bir yeniden deneme fırtınası sınırı derinleştiremez. Geçici hatalar, retry-after değerine uyularak üstel geri çekilmeyle en fazla üç kez yeniden denenir.