gitgithubpull-requestdraftMenengah4 mnt baca

Draft PR: Minta Feedback Lebih Awal

Buka pull request sebagai draft saat pekerjaan belum selesai, lalu ubah menjadi ready for review saat siap.

Dilema "belum selesai tapi butuh masukan"

Skenario yang sering terjadi: kamu mengerjakan fitur besar selama seminggu, stuck di satu keputusan desain, dan butuh pendapat reviewer. Pilihan lama ada dua, dua-duanya buruk. Buka PR biasa: reviewer mengira ini sudah final, me-review serius, lalu kecewa karena kodenya masih berantakan. Atau tidak buka apa-apa: kamu stuck sendirian dan reviewer baru melihat hasilnya di akhir saat mengubah arah sudah mahal.

Draft PR adalah pilihan ketiga yang menyelesaikan dilema ini. Ia adalah PR sungguhan dengan diff yang bisa dilihat dan CI yang berjalan, tapi ditandai jelas "belum siap di-review". Reviewer yang membuka tahu persis ekspektasinya: kasih masukan arah, bukan nitpicking detail.

Membuat dan mengubah status draft

Saat membuka PR baru di GitHub, klik panah di samping tombol hijau "Create pull request" dan pilih "Create draft pull request". PR terbit dengan label abu-abu "Draft" dan, yang penting, tidak bisa di-merge. Tombol merge-nya dinonaktifkan sampai statusnya diubah.

Setelah pekerjaan selesai dan kamu siap menerima review formal, klik "Ready for review" di bagian bawah halaman PR (atau di sidebar kanan). Label berubah hijau, tombol merge aktif kembali, dan reviewer yang di-request mendapat notifikasi. Sebaliknya, PR biasa juga bisa dikembalikan menjadi draft lewat "Convert to draft" di sidebar kanan kalau ternyata butuh pengerjaan lanjutan.

Perintah GitHub CLI-nya:

bash
gh pr create --draft --title "WIP: dashboard analitik" --body "Butuh masukan soal struktur data dulu"

Dan untuk mengubah status dari terminal:

bash
gh pr ready 42

Ini mengubah PR nomor 42 dari draft menjadi ready for review tanpa membuka browser.

Kapan memakai draft PR

Tiga momen paling tepat. Pertama, RFC awal: "aku mau bangun fitur X dengan pendekatan Y, masuk akal tidak?" Buka draft di hari pertama, bukan hari ketujuh. Kedua, kolaborasi paralel: dua orang mengerjakan bagian yang bergantung satu sama lain bisa saling melihat diff lewat draft masing-masing. Ketiga, CI lebih awal: draft tetap menjalankan GitHub Actions, jadi kamu tahu test-mu hijau jauh sebelum review formal dimulai.

Yang perlu diingat: draft bukan alasan untuk tidak pernah menyelesaikan. Draft yang berumur tiga bulan tanpa progres adalah PR biasa yang ditunda dengan label sopan. Tetapkan ekspektasi: draft untuk feedback dalam hitungan hari, bukan tempat parkir ide.

Kesalahan umum pemula

Salah: membuka semua PR sebagai draft "biar aman", termasuk perubahan satu baris yang sebenarnya sudah final, sehingga reviewer bingung mana yang benar-benar butuh perhatian. Benar: draft untuk pekerjaan yang memang belum selesai atau butuh masukan arah. Perubahan kecil yang sudah final langsung buka sebagai PR biasa agar cepat di-review dan di-merge.

Salah: me-request review formal ke lima orang di PR yang masih draft, lalu kecewa tidak ada yang merespons. Benar: di draft, tag orang spesifik dengan pertanyaan spesifik di komentar ("@budi, pendekatan A atau B menurutmu?"). Request review formal baru dikirim saat status sudah ready for review.

Tantangan

Latihan alur draft sampai merge

Buat branch baru, commit satu perubahan kecil, lalu buka PR sebagai draft dengan gh pr create --draft. Verifikasi tombol merge nonaktif. Tambah satu commit lagi, push, lalu ubah menjadi ready dengan gh pr ready dan pastikan label berubah. Terakhir merge PR-nya.