Tinjau merge request GitLab dengan Codex
Siapkan tinjauan kode untuk merge request GitLab dan minta peninjauan dengan @codex review.
Gunakan peninjauan kode Codex untuk mendapatkan tahap peninjauan tambahan yang sangat relevan pada merge request GitLab. Codex meninjau diff merge request, mengikuti panduan repositori Anda, dan memposting peninjauan kode GitLab standar yang berfokus pada masalah serius.
Dukungan GitLab tersedia dalam versi beta dan tersedia pada semua paket ChatGPT. Integrasi Codex berjalan di cloud Codex. Kontrol repositori bergaya GitHub di aplikasi desktop, seperti Create pull request, tidak disertakan dalam versi beta ini.
Sebelum memulai
Pastikan Anda memiliki:
- Akun GitLab yang terhubung. GitLab.com memerlukan alur koneksi standar; instans GitLab yang dikelola sendiri atau Dedicated memerlukan penyiapan templat oleh admin ruang kerja.
- File
AGENTS.mdjika Anda ingin Codex mengikuti panduan peninjauan khusus repositori.
Siapkan peninjauan kode Codex
Siapkan koneksi GitLab dan identitas peninjauan Codex
Untuk GitLab.com, hubungkan akun GitLab Anda di Codex setelah Anda terhubung ke GitLab di ChatGPT. Untuk GitLab yang dikelola sendiri atau Dedicated, setiap peninjau harus terhubung setelah templat admin ruang kerja dipublikasikan.
Untuk GitLab yang dikelola sendiri atau Dedicated, buka Codex Cloud → Settings → Connectors. Admin ruang kerja dapat mengizinkan Codex membuat akun layanan atau menyimpan token akses pribadi milik akun layanan yang sudah ada.
Izinkan Codex membuat akun
Di Codex Cloud → Settings → Connectors, pilih aplikasi untuk host
GitLab yang dikelola sendiri atau Dedicated → pilih Set up service account →
Create a service account. Admin ruang kerja yang menyelesaikan penyiapan harus memiliki
akses administrator ke instans GitLab. Pilih Selected groups
atau Selected projects only, lalu pilih tempat Codex harus beroperasi dan buat
akunnya. Opsi grup memberikan akses Developer ke setiap grup yang dipilih,
yang diwarisi oleh proyek dan subgrupnya; opsi proyek memberikan akses Developer
hanya ke masing-masing proyek yang Anda pilih. Codex akan membuat akun layanan instans
ChatGPT Codex Connector dengan token akses pribadi yang memiliki cakupan
api.
Gunakan akun yang sudah ada
Di GitLab, buat atau pilih akun layanan dan berikan akses Developer
hanya di grup atau proyek tempat Codex harus beroperasi. Dari halaman Service
accounts, pilih akun → Manage access tokens → Add new
token untuk
membuat token akses pribadi
dengan cakupan api dan tanggal kedaluwarsa setidaknya 30 hari lagi. Kembali di
Codex, pilih Use an existing service account, tempelkan token, lalu pilih
Save token. Token dienkripsi saat disimpan dan tidak pernah ditampilkan lagi.
Kelola token akun layanan
Admin ruang kerja dapat mengelola akun layanan di Codex Cloud → Settings → Connectors. Untuk akun yang dibuat Codex, admin dapat mencabut token saat ini dan membuat token baru. Untuk akun yang sudah ada, admin dapat mengganti atau menghapus token yang tersimpan di Codex dan mencabutnya secara terpisah di GitLab jika diperlukan. Codex tidak dapat merespons aktivitas GitLab hingga token yang valid dikonfigurasi.
Pilih cara aktivitas GitLab diteruskan ke Codex
Buat lingkungan proyek untuk tugas pengodean atau penyiapan khusus proyek
Di Codex Cloud → Settings → Environments, pilih proyek GitLab dan buat lingkungan proyek saat Anda ingin Codex menulis atau mengeksekusi kode untuk proyek tersebut—misalnya, untuk mengedit file, melakukan commit perubahan, atau mendorong pembaruan ke branch merge request—atau saat peninjauan bergantung pada rahasia khusus proyek, akses jaringan, atau perintah penyiapan.
Untuk GitLab.com, lingkungan proyek juga diperlukan untuk mengaktifkan peninjauan Codex.
Saat membuat lingkungan, aktifkan Enable Codex activity from GitLab
untuk memasang webhook proyek yang mengirimkan peristiwa merge request, komentar, dan issue
ke Codex. Pembuatan webhook proyek memerlukan akses Maintainer atau Owner,
akses administrator, atau peran khusus yang dapat mengelola webhook proyek.
Webhook proyek dan grup yang ditandatangani memerlukan GitLab 19.0 atau yang lebih baru. Pada
GitLab 19.0 yang dikelola sendiri, pastikan feature flag webhook_signing_token
diaktifkan; flag ini diaktifkan secara default dan dihapus pada GitLab 19.1.
Aktifkan aktivitas untuk peninjauan Codex bagi proyek di seluruh grup GitLab
Untuk GitLab yang dikelola sendiri atau Dedicated, admin ruang kerja dapat membuka Environments → GitLab activity → Manage groups untuk mengaktifkan peninjauan Codex di seluruh grup dan subgrupnya. Codex akan memasang webhook grup yang mencakup proyek di seluruh grup tersebut. Pengguna GitLab yang terhubung harus menjadi Owner grup, dan webhook grup memerlukan GitLab Premium atau Ultimate serta GitLab 19.0 atau yang lebih baru.
Aktivitas grup mengaktifkan peninjauan kode tetapi tidak membuat lingkungan proyek. Untuk menjalankan tugas pengodean yang dipicu GitLab, seperti mengedit file, menjalankan perintah, melakukan commit perubahan, atau mendorong pembaruan ke merge request, buat lingkungan proyek.
Konfigurasikan kebijakan peninjauan kode
Konfigurasikan kebijakan peninjauan kode di
pengaturan peninjauan Codex.
Pilih kebijakan repositori: Review my MRs, Review team MRs,
Review all MRs, atau Follow personal. Kemudian pilih kapan peninjauan dijalankan: On MR open,
On every push, atau Smart Trigger (Experimental). Pengaturan repositori dapat
menggantikan default pribadi.
Minta peninjauan Codex
- Dalam komentar merge request, sebutkan
@codex review. - Tunggu Codex memberikan reaksi (👀) dan memposting peninjauan.
Codex memposting diskusi dan catatan GitLab pada merge request, sama seperti yang dilakukan rekan satu tim. Secara default, peninjauan yang diminta secara manual dapat menyertakan temuan P0, P1, dan P2, sedangkan peninjauan otomatis berfokus pada temuan P0 dan P1.
Aktifkan peninjauan otomatis
Untuk meninjau merge request yang memenuhi syarat secara otomatis, aktifkan Automatic
reviews di pengaturan Codex, pilih kebijakan repositori GitLab, lalu pilih
pemicu: On MR open, On every push, atau Smart Trigger (Experimental).
Codex berjalan tanpa komentar @codex review ketika peristiwa merge request
sesuai dengan kebijakan dan pemicu tersebut.
Aktivitas GitLab harus diaktifkan melalui webhook proyek atau webhook grup leluhur. Untuk GitLab yang dikelola sendiri atau Dedicated, akun layanan yang dikonfigurasi juga harus memiliki akses untuk menulis kembali ke proyek. Codex menggunakan lingkungan proyek yang dikonfigurasi jika tersedia. Jika grup leluhur sudah mengaktifkan aktivitas, proyek turunannya mewarisi cakupan tersebut.
Sesuaikan hal yang ditinjau Codex
Codex mencari file AGENTS.md dalam repositori Anda dan mengikuti aturan
peninjauan kode yang berlaku. Tambahkan bagian ## Code Review Rules ke file yang paling dekat dengan
kode yang diatur oleh aturan tersebut. Gunakan judul ### untuk mengelompokkan pemeriksaan terkait jika
bermanfaat.
Sebagai contoh, layanan pelaporan eksperimen dapat mencegah perilaku setelah paparan mengubah kohor pembanding:
## 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.Tempatkan aturan untuk seluruh repositori di AGENTS.md tingkat root dan aturan khusus layanan di
file bertingkat, seperti services/experiment_reporting/AGENTS.md. Codex menerapkan
panduan tingkat root dan panduan yang lebih spesifik yang mencakup setiap file yang diubah, sehingga perubahan
yang tidak terkait tidak perlu membawa konteks khusus layanan.
Mulailah dengan dua atau tiga aturan ringkas yang merumuskan pemeriksaan yang sering dijelaskan oleh peninjau. Aturan yang berguna:
- Berfokuslah pada perilaku penting yang khusus untuk repositori. Jelaskan batasan kompatibilitas, batas data, atau efek samping tidak aman yang perlu ditandai dan alasan hal tersebut penting.
- Nyatakan jalur aman atau pengecualiannya. Berikan konteks yang cukup kepada Codex untuk membedakan masalah nyata dari perilaku yang diharapkan.
- Jaga agar aturan tetap terlingkup dan tahan lama. Utamakan hasil daripada nama fungsi yang dapat berubah, dan tempatkan panduan di dekat kode yang diaturnya.
- Serahkan pemeriksaan mekanis kepada CI. Jangan sertakan pemformatan, lint, dan pemeriksaan deterministik lainnya dalam aturan peninjauan.
Buka merge request yang representatif dan minta peninjauan dengan @codex review.
Sempurnakan aturan berdasarkan temuan dan umpan balik yang Anda lihat, serta persempit atau
hapus panduan yang menghasilkan gangguan.
Aturan peninjauan kode memandu Codex; aturan tersebut tidak menggantikan pengujian, perlindungan branch, atau persetujuan wajib.
Untuk fokus satu kali, tambahkan fokus tersebut ke komentar merge request Anda:
@codex review for issues in the database migration
Tindak lanjuti temuan peninjauan
Memperbaiki temuan peninjauan memerlukan lingkungan proyek yang dikonfigurasi; aktivitas grup saja mendukung peninjauan tetapi tidak dapat menjalankan tugas pengodean. Jika proyek memiliki lingkungan, minta Codex memperbaiki masalah dalam merge request yang sama dengan meninggalkan komentar lain:
@codex fix the P1 issueCodex memulai chat cloud dengan merge request sebagai konteks dan dapat mendorong perbaikan kembali ke branch jika memiliki izin untuk melakukannya.
Berikan tugas lain kepada Codex
Tugas pengodean lainnya juga memerlukan lingkungan proyek yang dikonfigurasi; aktivitas
grup saja mendukung peninjauan. Jika Anda menyebutkan @codex dalam komentar dengan
apa pun selain review, Codex memulai chat cloud dengan
merge request Anda sebagai konteks.
@codex fix the CI failuresPecahkan masalah peninjauan kode
Jika Codex tidak memberikan reaksi atau memposting peninjauan:
- Pastikan aplikasi GitLab yang dimaksud telah dipilih; jika Anda menggunakan penyiapan khusus proyek, pastikan proyek memiliki lingkungan cloud Codex yang dimaksud.
- Pastikan aktivitas untuk proyek atau grup leluhur. Di GitLab, periksa Webhooks → Recent events dan verifikasi bahwa pengiriman merge request dan catatan berhasil.
- Untuk GitLab yang dikelola sendiri atau Dedicated, pastikan webhook proyek atau grup
ditandatangani, verifikasi SSL diaktifkan, dan instans menggunakan GitLab 19.0 atau
yang lebih baru. Pada GitLab 19.0 yang dikelola sendiri, pastikan feature flag
webhook_signing_tokendiaktifkan; perbaiki hook yang dinonaktifkan secara otomatis setelah terjadi kegagalan. - Untuk GitLab yang dikelola sendiri atau Dedicated, pastikan token akses pribadi akun layanan yang sudah ada
masih aktif dan memiliki cakupan
api. Jika Codex membuat akun layanan, pastikan akun tersebut dikonfigurasi dengan benar di pengaturan konektor Codex dan proyek atau grup telah diaktifkan. - Untuk GitLab yang dikelola sendiri atau Dedicated, pastikan akun layanan ruang kerja—bukan hanya pengguna GitLab yang terhubung—memiliki akses Developer ke proyek atau grup induk agar Codex dapat memposting peninjauan dan reaksi. Keanggotaan diwarisi; aktivitas dan akses akun layanan merupakan hal yang terpisah.
- Pastikan Code review atau Automatic reviews diaktifkan dan MR sesuai dengan kebijakan serta pemicu repositori.
- Gunakan
@codex review.