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:
- Bağlı bir GitLab hesabı. GitLab.com için standart bağlantı akışı gerekir; kendi kendine yönetilen veya Dedicated GitLab örnekleri için çalışma alanı yöneticisi şablon kurulumu gerekir.
- Codex'in depoya özgü inceleme yönergelerini izlemesini istiyorsanız bir
AGENTS.mddosyası.
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 Cloud → Settings → Connectors 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 Cloud → Settings → Connectors bölümünde, kendi kendine yönetilen
veya Dedicated GitLab ana makinenize ait uygulamayı seçin → Set up service account →
Create 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 tokens → Add 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 Cloud → Settings → Connectors 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 Cloud → Settings → Environments 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 Environments → GitLab activity → Manage 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
- Bir birleştirme isteği yorumunda
@codex reviewifadesini kullanın. - 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 issueCodex, 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 failuresKod 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 Webhooks → Recent 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
apikapsamı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 reviewkullanın.