Türkçe

GitLab birleştirme isteklerini Codex ile inceleme

GitLab birleştirme istekleri için Code Review'ı ayarlayın ve @codex review ile inceleme isteyin.

GitLab birleştirme isteklerinde sinyal değeri yüksek ek bir inceleme turu elde etmek için Codex kod incelemesini kullanın. Codex, birleştirme isteği farkını inceler, deponuzdaki yönergeleri izler ve ciddi sorunlara odaklanan standart bir GitLab kod incelemesi yayımlar.

GitLab desteği beta aşamasındadır ve tüm ChatGPT planlarında kullanılabilir. Codex entegrasyonu Codex cloud'da çalışır. Masaüstü uygulamasındaki Create pull request gibi GitHub tarzı depo denetimleri bu beta sürümüne dahil değildir.

Başlamadan önce

Şunlara sahip olduğunuzdan emin olun:

Codex kod incelemesini ayarlama

GitLab bağlantısını ve Codex inceleme kimliğini ayarlama

GitLab.com için ChatGPT'de GitLab'a bağlandıktan sonra GitLab hesabınızı Codex'e bağlayın. Kendi kendine yönetilen veya Dedicated GitLab için her incelemeci, çalışma alanı yöneticisi şablonu yayımlandıktan sonra bağlantı kurmalıdır.

Kendi kendine yönetilen veya Dedicated GitLab için Codex CloudSettingsConnectors bölümünü açın. Bir çalışma alanı yöneticisi, Codex'in bir hizmet hesabı oluşturmasına izin verebilir veya mevcut bir hizmet hesabının kişisel erişim belirtecini kaydedebilir.

Hesabı Codex'in oluşturmasına izin verme

Codex CloudSettingsConnectors bölümünde, kendi kendine yönetilen veya Dedicated GitLab ana makinenize ait uygulamayı seçin → Set up service accountCreate a service account seçeneğini belirleyin. Kurulumu tamamlayan çalışma alanı yöneticisinin GitLab örneğine yönetici erişimi olmalıdır. Selected groups veya Selected projects only seçeneklerinden birini belirleyin, ardından Codex'in nerede çalışacağını seçip hesabı oluşturun. Grup seçeneği, seçilen her gruba Developer erişimi verir ve bu erişim grubun projeleri ile alt gruplarına devredilir; proje seçeneği ise yalnızca seçtiğiniz projelere Developer erişimi verir. Codex, api kapsamına sahip bir kişisel erişim belirteciyle ChatGPT Codex Connector örneği hizmet hesabını oluşturur.

Mevcut bir hesabı kullanma

GitLab'da bir hizmet hesabı oluşturun veya seçin ve yalnızca Codex'in çalışacağı gruplarda ya da projelerde bu hesaba Developer erişimi verin. Service accounts sayfasında hesabı seçin → Manage access tokensAdd new token adımlarını izleyerek api kapsamına ve en az 30 gün sonraki bir sona erme tarihine sahip bir kişisel erişim belirteci oluşturun. Codex'e dönün, Use an existing service account seçeneğini belirleyin, belirteci yapıştırın ve Save token seçeneğini seçin. Belirteç kaydedilirken şifrelenir ve bir daha gösterilmez.

Hizmet hesabı belirtecini yönetme

Çalışma alanı yöneticileri hizmet hesabını Codex CloudSettingsConnectors bölümünden yönetebilir. Codex tarafından oluşturulan bir hesapta yöneticiler geçerli belirteci iptal edip yenisini oluşturabilir. Mevcut bir hesapta yöneticiler Codex'te kayıtlı belirteci değiştirebilir veya kaldırabilir ve gerekirse GitLab'da ayrıca iptal edebilir. Geçerli bir belirteç yapılandırılana kadar Codex, GitLab etkinliklerine yanıt veremez.

GitLab etkinliğinin Codex'e nasıl ulaşacağını seçme

Kodlama görevleri veya projeye özgü kurulum için proje ortamı oluşturma

Codex'in ilgili proje için kod yazmasını ya da çalıştırmasını istediğinizde (örneğin dosyaları düzenlemek, değişiklikleri commit etmek veya güncellemeleri bir birleştirme isteği dalına göndermek için) ya da bir inceleme projeye özgü gizli bilgilere, ağ erişimine veya kurulum komutlarına bağlı olduğunda Codex CloudSettingsEnvironments bölümünde GitLab projesini seçip bir proje ortamı oluşturun.

GitLab.com'da Codex incelemelerini etkinleştirmek için de bir proje ortamı gerekir.

Ortamı oluştururken birleştirme isteği, yorum ve sorun olaylarını Codex'e ileten proje webhook'unu yüklemek için Enable Codex activity from GitLab seçeneğini açın. Proje webhook'unu oluşturmak için Maintainer veya Owner erişimi, yönetici erişimi ya da proje webhook'larını yönetebilen özel bir rol gerekir. İmzalı proje ve grup webhook'ları GitLab 19.0 veya daha yeni bir sürüm gerektirir. Kendi kendine yönetilen GitLab 19.0'da webhook_signing_token özellik bayrağının etkin olduğunu doğrulayın; bu bayrak varsayılan olarak etkindir ve GitLab 19.1'de kaldırılmıştır.

Bir GitLab grubundaki projeler için Codex inceleme etkinliğini açma

Kendi kendine yönetilen veya Dedicated GitLab'da çalışma alanı yöneticileri, bir grupta ve alt gruplarında Codex incelemelerini etkinleştirmek için EnvironmentsGitLab activityManage groups bölümünü açabilir. Codex, grubun genelindeki projeleri kapsayan bir grup webhook'u yükler. Bağlı GitLab kullanıcısı grupta Owner olmalıdır; grup webhook'ları GitLab Premium veya Ultimate ile GitLab 19.0 ya da daha yeni bir sürüm gerektirir.

Grup etkinliği kod incelemelerini etkinleştirir ancak proje ortamları oluşturmaz. Dosyaları düzenlemek, komutları çalıştırmak, değişiklikleri commit etmek veya bir birleştirme isteğine güncelleme göndermek gibi GitLab tarafından tetiklenen kodlama görevlerini çalıştırmak için bir proje ortamı oluşturun.

Kod inceleme politikalarını yapılandırma

Kod inceleme politikalarını Codex inceleme ayarlarında yapılandırın. Depo politikasını seçin: Review my MRs, Review team MRs, Review all MRs veya Follow personal. Ardından incelemelerin ne zaman çalışacağını seçin: On MR open, On every push veya Smart Trigger (Experimental). Depo ayarları kişisel varsayılanları geçersiz kılabilir.

Codex incelemesi isteme

  1. Bir birleştirme isteği yorumunda @codex review ifadesini kullanın.
  2. Codex'in tepki vermesini (👀) ve bir inceleme yayımlamasını bekleyin.

Codex, tıpkı bir ekip arkadaşı gibi birleştirme isteğinde GitLab tartışmaları ve notları yayımlar. Varsayılan olarak, elle istenen incelemeler P0, P1 ve P2 bulgularını içerebilirken otomatik incelemeler P0 ve P1 bulgularına odaklanır.

Otomatik incelemeleri etkinleştirme

Uygun birleştirme isteklerini otomatik olarak incelemek için Codex ayarlarında Automatic reviews seçeneğini açın, GitLab depo politikasını ve şu tetikleyicilerden birini seçin: On MR open, On every push veya Smart Trigger (Experimental). Birleştirme isteği olayı bu politika ve tetikleyiciyle eşleştiğinde Codex, @codex review yorumu olmadan çalışır.

GitLab etkinliği bir proje webhook'u veya üst grup webhook'u aracılığıyla etkinleştirilmelidir. Kendi kendine yönetilen veya Dedicated GitLab'da yapılandırılan hizmet hesabının projeye geri yazma erişimi de olmalıdır. Codex, varsa yapılandırılmış bir proje ortamını kullanır. Bir üst grup etkinliği zaten açmışsa alt projeler bu kapsamı devralır.

Codex'in neleri inceleyeceğini özelleştirme

Codex, deponuzda AGENTS.md dosyalarını arar ve geçerli kod inceleme kurallarını izler. Kuralların yönettiği koda en yakın dosyaya bir ## Code Review Rules bölümü ekleyin. Yararlı olduğunda ilgili denetimleri gruplamak için ### başlıklarını kullanın.

Örneğin bir deney raporlama hizmeti, maruziyet sonrası davranışın karşılaştırma kohortunu değiştirmesini önleyebilir:

## Code Review Rules

### Experiment cohorts

- Do not filter treatment comparisons on post-exposure behavior, including conversion or retention.
  Safe path: build cohorts from assignment or exposure; report conversion as an outcome.

Depo genelindeki kuralları kök AGENTS.md dosyasına, hizmete özgü kuralları ise services/experiment_reporting/AGENTS.md gibi iç içe bir dosyaya yerleştirin. Codex, değiştirilen her dosyayı kapsayan kök yönergeleri ve daha özel yönergeleri uygular; böylece ilgisiz değişikliklerin hizmete özgü bağlam taşıması gerekmez.

İncelemecilerin sıkça açıkladığı denetimleri kodlayan iki veya üç kısa kuralla başlayın. Yararlı kurallar:

  • Önemli ve depoya özgü davranışlara odaklanın. İşaretlenecek uyumluluk kısıtlamasını, veri sınırını veya güvenli olmayan yan etkiyi ve bunun neden önemli olduğunu açıklayın.
  • Güvenli yolu veya istisnayı belirtin. Codex'e gerçek bir sorunu beklenen davranıştan ayırmaya yetecek bağlamı verin.
  • Kuralları sınırlı kapsamlı ve kalıcı tutun. Değişebilecek işlev adları yerine sonuçları tercih edin ve yönergeleri yönettikleri kodun yakınına yerleştirin.
  • Mekanik denetimleri CI'a bırakın. Biçimlendirme, lint ve diğer deterministik denetimleri inceleme kurallarının dışında tutun.

Temsilî bir birleştirme isteği açın ve @codex review ile inceleme isteyin. Gördüğünüz bulgulara ve geri bildirimlere göre kuralları iyileştirin; gürültü oluşturan yönergeleri daraltın veya kaldırın.

Kod inceleme kuralları Codex'e yol gösterir; testlerin, dal korumalarının veya zorunlu onayların yerini almaz.

Tek seferlik bir odak noktası için bunu birleştirme isteği yorumunuza ekleyin:

@codex review for issues in the database migration

İnceleme bulgularını ele alma

İnceleme bulgularını düzeltmek için yapılandırılmış bir proje ortamı gerekir; gruba ait etkinlik tek başına incelemeleri destekler ancak kodlama görevlerini çalıştıramaz. Projenin bir ortamı varsa başka bir yorum bırakarak Codex'ten aynı birleştirme isteğindeki sorunu düzeltmesini isteyin:

@codex fix the P1 issue

Codex, bağlam olarak birleştirme isteğini kullanan bir cloud sohbeti başlatır ve gerekli izne sahipse düzeltmeyi dala gönderebilir.

Codex'e başka görevler verme

Diğer kodlama görevleri de yapılandırılmış bir proje ortamı gerektirir; grup etkinliği tek başına incelemeleri destekler. Bir yorumda review dışında herhangi bir ifadeyle birlikte @codex ifadesini kullanırsanız Codex, birleştirme isteğinizi bağlam olarak kullanan bir cloud sohbeti başlatır.

@codex fix the CI failures

Kod inceleme sorunlarını giderme

Codex tepki vermiyor veya inceleme yayımlamıyorsa:

  • Amaçlanan GitLab uygulamasının seçildiğini doğrulayın; projeye özgü kurulum kullanıyorsanız projenin amaçlanan Codex cloud ortamına sahip olduğunu doğrulayın.
  • Proje veya bir üst grup için etkinliği doğrulayın. GitLab'da WebhooksRecent events bölümünü kontrol edin ve birleştirme isteği ile not iletimlerinin başarılı olduğunu doğrulayın.
  • Kendi kendine yönetilen veya Dedicated GitLab'da proje ya da grup webhook'unun imzalı, SSL doğrulamasının etkin ve örneğin GitLab 19.0 ya da daha yeni bir sürümde olduğunu doğrulayın. Kendi kendine yönetilen GitLab 19.0'da webhook_signing_token özellik bayrağının etkin olduğunu doğrulayın; hatalardan sonra otomatik olarak devre dışı bırakılan hook'ları onarın.
  • Kendi kendine yönetilen veya Dedicated GitLab'da mevcut hizmet hesabının kişisel erişim belirtecinin etkin ve api kapsamına sahip olduğunu doğrulayın. Hizmet hesabını Codex oluşturduysa hesabın Codex bağlayıcı ayarlarında doğru yapılandırıldığını ve proje ya da grubun etkinleştirildiğini doğrulayın.
  • Kendi kendine yönetilen veya Dedicated GitLab'da yalnızca bağlı GitLab kullanıcısının değil, çalışma alanı hizmet hesabının da projeye veya üst gruba Developer erişimi olduğunu doğrulayın; böylece Codex inceleme ve tepki yayımlayabilir. Üyelik devralınır; etkinlik ile hizmet hesabı erişimi birbirinden ayrıdır.
  • Code review veya Automatic reviews seçeneğinin etkin olduğunu ve MR'ın depo politikasıyla tetikleyiciye uyduğunu doğrulayın.
  • @codex review kullanın.