Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019
Kebijakan cabang membantu tim melindungi cabang penting pengembangan mereka. Kebijakan memberlakukan kualitas kode tim Anda dan mengubah standar manajemen. Artikel ini menjelaskan cara mengatur dan mengelola kebijakan cabang. Untuk gambaran umum semua kebijakan dan pengaturan repositori dan cabang, lihat Pengaturan dan kebijakan repositori Git.
Cabang dengan kebijakan yang diperlukan yang dikonfigurasi tidak dapat dihapus, dan memerlukan permintaan pull (PR) untuk semua perubahan.
Prasyarat
Untuk mengatur kebijakan cabang, Anda harus menjadi anggota grup keamanan Administrator Proyek atau memiliki izin Edit kebijakan tingkat repositori. Untuk informasi selengkapnya, lihat Mengatur izin repositori Git.
Untuk mengatur kebijakan cabang, Anda harus menjadi anggota grup keamanan Administrator Proyek atau memiliki izin Edit kebijakan tingkat repositori. Untuk informasi selengkapnya, lihat Mengatur izin repositori Git.
Untuk mengelola kebijakan cabang, pilih Repos>Cabang untuk membuka halaman Cabang di portal web.
Anda juga dapat masuk ke pengaturan kebijakan cabang dengan Kebijakan Repositori>>Pengaturan>Proyek Nama> Cabang Kebijakan><Cabang.
Cabang yang memiliki kebijakan menampilkan ikon kebijakan. Anda dapat memilih ikon untuk langsung masuk ke pengaturan kebijakan cabang.
Untuk mengatur kebijakan cabang, temukan cabang yang ingin Anda kelola. Anda dapat menelusuri daftar atau mencari cabang Anda di kotak Nama cabang pencarian di kanan atas.
Pilih ikon Opsi lainnya di samping cabang, lalu pilih Kebijakan cabang dari menu konteks.
Temukan cabang Anda di halaman. Anda dapat menelusuri daftar atau Anda dapat mencari cabang Anda menggunakan kotak Cari semua cabang di kanan atas.
Pilih tombol ... . Pilih Kebijakan cabang dari menu konteks.
Konfigurasikan kebijakan pada halaman pengaturan cabang. Lihat bagian berikut untuk deskripsi dan instruksi untuk setiap jenis kebijakan.
Konfigurasikan kebijakan Anda di halaman Kebijakan . Lihat bagian berikut untuk deskripsi setiap jenis kebijakan. Pilih Simpan perubahan untuk menerapkan konfigurasi kebijakan baru Anda.
Anda dapat menggunakan Azure DevOps CLI untuk mencantumkan atau menampilkan kebijakan untuk cabang atau repositori.
Mencantumkan kebijakan
Untuk mencantumkan semua kebijakan dalam proyek, gunakan daftar kebijakan repositori az.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parameter
Parameter
Deskripsi
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
org, organization
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
query-examples
String JMESPath yang direkomendasikan. Anda dapat menyalin salah satu kueri dan menempelkannya setelah --query parameter dalam tanda kutip ganda untuk melihat hasilnya. Anda dapat menambahkan satu atau beberapa kata kunci posisional sehingga saran didasarkan pada kata kunci ini.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Contoh
Perintah berikut mengembalikan semua kebijakan cabang yang berlaku di main cabang repositori Fabrikam, ID d28cd374-e7f0-4b1f-ad60-f349f155d47c. Anda bisa mendapatkan ID repositori dengan menjalankan az repos list.
Contoh ini menggunakan konfigurasi default berikut: az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy list --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --branch main --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
5 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
6 Comment requirements False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
12 Required reviewers True False d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
13 Required reviewers False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parameter
Parameter
Deskripsi
id, policy-id
ID kebijakan. Diperlukan.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
org, organization
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
query-examples
String JMESPath yang direkomendasikan. Anda dapat menyalin salah satu kueri dan menempelkannya setelah --query parameter dalam tanda kutip ganda untuk melihat hasilnya. Anda dapat menambahkan satu atau beberapa kata kunci posisional sehingga saran didasarkan pada kata kunci ini.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Perintah Azure DevOps CLI tidak didukung untuk Azure DevOps Server.
Memerlukan jumlah minimum peninjau
Tinjauan kode penting untuk proyek pengembangan perangkat lunak. Untuk memastikan bahwa tim meninjau dan menyetujui PR, Anda dapat memerlukan persetujuan dari jumlah peninjau minimum. Kebijakan dasar mengharuskan sejumlah peninjau tertentu menyetujui kode, tanpa penolakan.
Untuk mengatur kebijakan, di bawah Kebijakan Cabang, atur Memerlukan jumlah minimum peninjau ke Aktif. Masukkan jumlah peninjau yang diperlukan, dan pilih salah satu opsi berikut:
Pilih Izinkan pemohon menyetujui perubahan mereka sendiri untuk memungkinkan pembuat PR memilih persetujuannya. Jika tidak, pembuat masih dapat memilih Setujui PR, tetapi suara mereka tidak dihitung terhadap jumlah minimum peninjau.
Pilih Melarang pendorong terbaru menyetujui perubahan mereka sendiri untuk memberlakukan pemisahan tugas. Secara default, siapa pun dengan izin pendorongan pada cabang sumber dapat menambahkan penerapan dan memberikan suara pada persetujuan PR. Memilih opsi ini berarti suara pendorong terbaru tidak dihitung, bahkan jika mereka biasanya dapat menyetujui perubahan mereka sendiri.
Pilih Izinkan penyelesaian meskipun beberapa peninjau memilih untuk menunggu atau menolak untuk mengizinkan penyelesaian PR meskipun beberapa peninjau memilih menolak persetujuan. Jumlah minimum peninjau masih harus disetujui.
Di bawah Saat perubahan baru didorong:
Pilih Perlu setidaknya satu persetujuan pada iterasi terakhir untuk memerlukan setidaknya satu suara persetujuan untuk perubahan cabang sumber terakhir.
Pilih Reset semua suara persetujuan (tidak mengatur ulang suara untuk menolak atau menunggu) untuk menghapus semua suara persetujuan, tetapi pertahankan suara untuk menolak atau menunggu, setiap kali cabang sumber berubah.
Pilih Reset semua suara peninjau kode untuk menghapus semua suara peninjau setiap kali cabang sumber berubah, termasuk suara untuk menyetujui, menolak, atau menunggu.
Di bawah Saat perubahan baru didorong:
Pilih Perlu setidaknya satu persetujuan pada setiap perulangan untuk memerlukan setidaknya satu suara persetujuan untuk perubahan cabang sumber terakhir. Persetujuan pengguna tidak dihitung terhadap perulangan yang tidak disetujui sebelumnya yang didorong oleh pengguna tersebut. Akibatnya, persetujuan lain pada iterasi terakhir diperlukan untuk dilakukan oleh pengguna lain. Memerlukan setidaknya satu persetujuan pada setiap iterasi tersedia di Azure DevOps Server 2022.1 dan yang lebih tinggi.
Pilih Perlu setidaknya satu persetujuan pada iterasi terakhir untuk memerlukan setidaknya satu suara persetujuan untuk perubahan cabang sumber terakhir.
Pilih Reset semua suara persetujuan (tidak mengatur ulang suara untuk menolak atau menunggu) untuk menghapus semua suara persetujuan, tetapi pertahankan suara untuk menolak atau menunggu, setiap kali cabang sumber berubah.
Pilih Reset semua suara peninjau kode untuk menghapus semua suara peninjau setiap kali cabang sumber berubah, termasuk suara untuk menyetujui, menolak, atau menunggu.
Jika Pemohon dapat menyetujui perubahan mereka sendiri tidak dipilih, pembuat permintaan pull masih dapat memilih Setujui permintaan pull mereka, tetapi suara mereka tidak dihitung terhadap Jumlah minimum peninjau.
Jika ada peninjau yang menolak perubahan, permintaan pull tidak dapat diselesaikan kecuali Anda memilih Izinkan penyelesaian meskipun beberapa peninjau memilih untuk menunggu atau menolak.
Anda dapat mengatur ulang suara peninjau kode saat perubahan baru didorong ke cabang sumber. Pilih Reset suara peninjau kode saat ada perubahan baru.
Jika semua kebijakan lain lolos, pembuat dapat menyelesaikan PR saat jumlah peninjau yang diperlukan menyetujuinya.
Anda dapat mengelola jumlah pemberi persetujuan yang diperlukan permintaan pull dengan jumlah pemberi persetujuan kebijakan repos az.
Izinkan downvote. Nilai yang diterima: false, true. Diperlukan.
blocking
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true. Diperlukan.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main. Diperlukan.
creator-vote-counts
Hitung suara pembuat. Nilai yang diterima: false, true. Diperlukan.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true. Diperlukan.
minimum-approver-count
Jumlah minimum pemberi persetujuan yang diperlukan. Misalnya: 2. Diperlukan.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Diperlukan.
reset-on-source-push
Reset suara saat perubahan didorong ke sumber. Nilai yang diterima: false, true. Diperlukan.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Contoh
Contoh berikut menetapkan jumlah minimum persetujuan yang diperlukan untuk 2 permintaan pull di main cabang repositori Fabrikam. Kebijakan ini memungkinkan downvote, yang berarti bahwa permintaan pull dapat diselesaikan bahkan jika beberapa peninjau memilih untuk tidak menyetujui, selama suara angka minimum untuk disetujui. Mendorong ke cabang sumber tidak mengatur ulang suara. Kebijakan ini juga memungkinkan pembuat permintaan pull untuk menyetujui permintaan pull mereka sendiri.
Contoh ini menggunakan konfigurasi az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"default .
az repos policy approver-count create --allow-downvotes true --blocking true --branch main --creator-vote-counts true --enabled true --minimum-approver-count 2 --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --reset-on-source-push false --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
27 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Izinkan downvote. Nilai yang diterima: false, true.
blocking
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
creator-vote-counts
Hitung suara pembuat. Nilai yang diterima: false, true.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true.
minimum-approver-count
Jumlah minimum pemberi persetujuan yang diperlukan. Misalnya: 2.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
reset-on-source-push
Reset suara saat perubahan didorong ke sumber. Nilai yang diterima: false, true.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Perintah Azure DevOps CLI tidak didukung untuk Azure DevOps Server.
Periksa item kerja tertaut
Untuk pelacakan manajemen item kerja, Anda dapat memerlukan asosiasi antara PR dan item kerja. Menautkan item kerja menyediakan lebih banyak konteks untuk perubahan, dan memastikan bahwa pembaruan melewati proses pelacakan item kerja Anda.
Untuk mengatur kebijakan, di bawah Kebijakan Cabang, atur Periksa item kerja tertaut ke Aktif. Pengaturan ini mengharuskan item kerja ditautkan ke PR agar PR digabungkan. Buat pengaturan Opsional untuk memperingatkan ketika tidak ada item kerja tertaut, tetapi izinkan penyelesaian permintaan pull.
Anda dapat menggunakan azure CLI az repos policy work-item-linking untuk membuat dan memperbarui kebijakan penautan item kerja untuk cabang atau repositori.
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true. Diperlukan.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main. Diperlukan.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true. Diperlukan.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true.
minimum-approver-count
Jumlah minimum pemberi persetujuan yang diperlukan. Misalnya: 2.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Contoh
Contoh berikut memperbarui ID 3 kebijakan untuk main cabang repositori Fabrikam agar diaktifkan tetapi opsional. Contoh menggunakan konfigurasi az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"default .
>az repos policy work-item-linking update --id 3 --blocking false --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Perintah Azure DevOps CLI tidak didukung untuk Azure DevOps Server.
Periksa resolusi komentar
Kebijakan Periksa resolusi komentar memeriksa apakah semua komentar PR diselesaikan.
Konfigurasikan kebijakan resolusi komentar untuk cabang Anda dengan mengatur Periksa resolusi komentar ke Aktif. Kemudian pilih apakah akan membuat kebijakan Diperlukan atau Opsional.
Untuk informasi selengkapnya tentang bekerja dengan komentar permintaan pull, lihat Meninjau permintaan pull.
Konfigurasikan kebijakan resolusi komentar untuk cabang Anda dengan memilih Periksa resolusi komentar.
Untuk informasi selengkapnya tentang bekerja dengan komentar permintaan pull, lihat Meninjau permintaan pull.
Anda dapat menggunakan komentar kebijakan repositori az Azure DevOps CLI yang diperlukan untuk mengatur dan memperbarui kebijakan resolusi komentar.
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true. Diperlukan.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main. Diperlukan.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true. Diperlukan.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Diperlukan.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Contoh
Contoh berikut memperbarui ID 6 kebijakan resolusi komentar di main cabang repositori Fabrikam menjadi pemblokiran. Komentar harus diselesaikan sebelum permintaan pull dapat digabungkan. Contoh ini menggunakan konfigurasi az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"default .
az repos policy comment-required update --id 6 --blocking true --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- -------------------- ------------- ------------ ------------------------------------ ---------------
6 Comment requirements True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Perintah Azure DevOps CLI tidak didukung untuk Azure DevOps Server.
Batasi jenis penggabungan
Azure Repos memiliki beberapa strategi penggabungan, dan secara default, semuanya diizinkan. Anda dapat mempertahankan riwayat cabang yang konsisten dengan memberlakukan strategi penggabungan untuk penyelesaian PR.
Atur Batasi jenis penggabungan ke Aktif untuk membatasi jenis penggabungan mana yang akan diizinkan dalam repositori Anda.
Penggabungan dasar (tidak ada maju cepat) membuat penerapan penggabungan di target yang induknya adalah target dan cabang sumber.
Penggabungan squash membuat riwayat linier dengan satu penerapan di cabang target dengan perubahan dari cabang sumber. Pelajari selengkapnya tentang penggabungan squash dan pengaruhnya terhadap riwayat cabang.
Rebase dan fast-forward membuat riwayat linier dengan memutar ulang penerapan sumber ke cabang target tanpa penerapan penggabungan.
Rebase dengan penerapan penggabungan memutar ulang penerapan sumber ke target dan juga membuat penerapan penggabungan.
Catatan
Fitur ini tersedia untuk Azure DevOps Server 2020 dan versi yang lebih baru.
Anda dapat menggunakan azure DevOps CLI az repos policy merge-strategy untuk mengatur dan memperbarui kebijakan strategi penggabungan.
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true. Diperlukan.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main. Diperlukan.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true. Diperlukan.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Diperlukan.
allow-no-fast-forward
Penggabungan dasar tanpa maju cepat. Mempertahankan sejarah nonlinear persis seperti yang terjadi selama pengembangan. Nilai yang diterima: false, true.
allow-rebase
Rebase dan maju cepat. Membuat riwayat linier dengan memutar ulang penerapan cabang sumber ke target tanpa penerapan penggabungan. Nilai yang diterima: false, true.
allow-rebase-merge
Rebase dengan penerapan penggabungan. Membuat riwayat semi-linier dengan memutar ulang penerapan cabang sumber ke target lalu membuat penerapan penggabungan. Nilai yang diterima: false, true.
allow-squash
Penggabungan squash. Membuat riwayat linier dengan memusatkan penerapan cabang sumber menjadi satu penerapan baru pada cabang target. Nilai yang diterima: false, true.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
use-squash-merge
Selalu gabungkan squash. Opsi ini tidak tersedia untuk jenis penggabungan lainnya. Nilai yang diterima: false, true.
Catatan: use-squash-merge tidak digunakan lagi dan akan dihapus dalam rilis mendatang. Gunakan --allow-squash sebagai gantinya.
Contoh
Contoh berikut menetapkan strategi penggabungan yang diperlukan untuk permintaan pull di main cabang repositori Fabrikam untuk memungkinkan penggabungan squash. Contoh ini menggunakan konfigurasi az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"default .
az repos policy merge-strategy create --allow-squash true --blocking true --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------------ ------------- ------------ ------------------------------------ ---------------
29 Require a merge strategy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Penggabungan dasar tanpa maju cepat. Mempertahankan sejarah nonlinear persis seperti yang terjadi selama pengembangan. Nilai yang diterima: false, true.
allow-rebase
Rebase dan maju cepat. Membuat riwayat linier dengan memutar ulang penerapan cabang sumber ke target tanpa penerapan penggabungan. Nilai yang diterima: false, true.
allow-rebase-merge
Rebase dengan penerapan penggabungan. Membuat riwayat semi-linier dengan memutar ulang penerapan cabang sumber ke target lalu membuat penerapan penggabungan. Nilai yang diterima: false, true.
allow-squash
Penggabungan squash. Membuat riwayat linier dengan memusatkan penerapan cabang sumber menjadi satu penerapan baru pada cabang target. Nilai yang diterima: false, true.
blocking
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
use-squash-merge
Apakah akan selalu menggabungkan squash. Opsi ini tidak berfungsi untuk jenis penggabungan lainnya. Nilai yang diterima: false, true.
Perintah Azure DevOps CLI tidak didukung untuk Azure DevOps Server.
Menerapkan strategi penggabungan
Pertahankan riwayat cabang yang konsisten dengan memberlakukan strategi penggabungan saat permintaan pull selesai.
Pilih Terakan strategi penggabungan dan pilih opsi untuk mengharuskan permintaan pull digabungkan menggunakan strategi tersebut.
Tidak ada penggabungan maju cepat - Opsi ini menggabungkan riwayat penerapan cabang sumber saat permintaan pull ditutup dan membuat penerapan penggabungan di cabang target.
Penggabungan squash - Selesaikan semua permintaan pull dengan penggabungan squash, membuat satu penerapan di cabang target dengan perubahan dari cabang sumber. Pelajari selengkapnya tentang penggabungan squash dan pengaruhnya terhadap riwayat cabang Anda.
Membuat validasi
Anda dapat mengatur kebijakan yang mengharuskan perubahan PR berhasil dibangun sebelum PR dapat diselesaikan.
Kebijakan build mengurangi jeda dan menjaga hasil pengujian Anda tetap lolos. Kebijakan build membantu meskipun Anda menggunakan integrasi berkelanjutan (CI) di cabang pengembangan Anda untuk menangkap masalah lebih awal.
Kebijakan validasi build mengantrekan build baru saat PR baru dibuat atau perubahan didorong ke PR yang ada yang menargetkan cabang. Kebijakan build mengevaluasi hasil build untuk menentukan apakah PR dapat diselesaikan.
Penting
Sebelum menentukan kebijakan validasi build, Anda harus memiliki alur build. Jika Anda tidak memiliki alur, lihat Membuat alur build. Pilih jenis build yang cocok dengan jenis proyek Anda.
Di bawah Pemicu, pilih Otomatis (setiap kali cabang sumber diperbarui) atau Manual.
Di bawah Persyaratan kebijakan, pilih Diperlukan atau Opsional. Jika Anda memilih Diperlukan, build harus berhasil diselesaikan untuk menyelesaikan PR. Pilih Opsional untuk memberikan pemberitahuan kegagalan build tetapi masih memungkinkan PR selesai.
Atur kedaluwarsa build untuk memastikan pembaruan ke cabang anda yang dilindungi tidak merusak perubahan untuk PR terbuka.
Segera ketika <nama> cabang diperbarui: Opsi ini mengatur status kebijakan build PR gagal setiap kali cabang diperbarui, dan mengantre ulang build. Pengaturan ini memastikan bahwa perubahan PR berhasil dibangun meskipun cabang yang dilindungi berubah.
Opsi ini paling cocok untuk tim yang cabang pentingnya memiliki beberapa perubahan. Tim yang bekerja di cabang pengembangan yang sibuk mungkin merasa terganggu untuk menunggu build setiap kali cabang diperbarui.
Setelah <n> jam jika <nama> cabang telah diperbarui: Opsi ini kedaluwarsa status kebijakan saat ini ketika cabang yang dilindungi diperbarui jika build yang lolos lebih lama dari ambang yang Anda masukkan. Opsi ini adalah kompromi antara selalu atau tidak pernah memerlukan build saat cabang yang dilindungi diperbarui. Pilihan ini mengurangi jumlah build saat cabang anda yang dilindungi memiliki pembaruan yang sering.
Tidak Pernah: Pembaruan pada cabang yang dilindungi tidak mengubah status kebijakan. Nilai ini mengurangi jumlah build, tetapi dapat menyebabkan masalah saat menyelesaikan PR yang tidak diperbarui baru-baru ini.
Masukkan Nama tampilan opsional untuk kebijakan build ini. Nama ini mengidentifikasi kebijakan pada halaman Kebijakan cabang. Jika Anda tidak menentukan nama tampilan, kebijakan menggunakan nama alur build.
Pilih Simpan.
Ketika pemilik PR mendorong perubahan yang berhasil dibangun, status kebijakan diperbarui.
Jika Anda memiliki Segera saat <nama> cabang diperbarui atau Setelah <n> jam jika <nama> cabang telah diperbarui kebijakan build, status kebijakan akan diperbarui saat cabang yang dilindungi diperbarui, jika build sebelumnya tidak lagi valid.
Catatan
Fitur ini tersedia untuk Azure DevOps Server 2020 dan versi yang lebih baru.
Anda dapat menggunakan azure DevOps CLI az repos policy build untuk mengatur dan memperbarui kebijakan validasi build.
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true. Diperlukan.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main. Diperlukan.
build-definition-id
ID definisi build. Diperlukan.
display-name
Nama tampilan untuk kebijakan build ini untuk mengidentifikasi kebijakan. Misalnya: Manual queue policy. Diperlukan.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true. Diperlukan.
manual-queue-only
Apakah hanya mengizinkan antrean build manual. Nilai yang diterima: false, true. Diperlukan.
queue-on-source-update-only
Apakah akan membuat antrean hanya saat pembaruan sumber. Nilai yang diterima: false, true. Diperlukan.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Diperlukan.
valid-duration
Durasi validitas kebijakan, dalam hitungan menit. Catatan:valid-duration harus antara nol dan satu tahun, dan harus nol ketika --queue-on-source-update-only adalah false. Diperlukan.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
path-filter
Jalur untuk menerapkan kebijakan diterapkan. Mendukung jalur absolut, kartubebas, dan beberapa jalur yang dipisahkan oleh ;. Contoh: /WebApp/Models/Data.cs, , /WebApp/*atau *.cs, atau /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Contoh
Contoh berikut menetapkan kebijakan build yang diperlukan untuk permintaan pull di main cabang repositori Fabrikam. Kebijakan ini memerlukan build ID 1definisi build yang berhasil, dan hanya memungkinkan antrean build manual. Contoh ini menggunakan konfigurasi az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"default .
az repos policy build create --blocking true --branch main --build-definition-id 1 --display-name build-policy --enabled true --manual-queue-only true --queue-on-source-update-only false --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --valid-duration 0 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------ ------------- ------------ ------------------------------------ ---------------
31 build-policy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
build-definition-id
ID definisi build.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
display-name
Nama tampilan untuk kebijakan build ini untuk mengidentifikasi kebijakan. Misalnya: Manual queue policy.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true.
manual-queue-only
Apakah hanya mengizinkan antrean build manual. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
path-filter
Jalur untuk menerapkan kebijakan diterapkan. Mendukung jalur absolut, kartubebas, dan beberapa jalur yang dipisahkan oleh ;. Contoh: /WebApp/Models/Data.cs, , /WebApp/*atau *.cs, atau /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
queue-on-source-update-only
Apakah akan membuat antrean hanya saat pembaruan sumber. Nilai yang diterima: false, true.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
valid-duration
Durasi validitas kebijakan, dalam hitungan menit.
Perintah Azure DevOps CLI tidak didukung untuk Azure DevOps Server.
Tetapkan kebijakan yang memerlukan perubahan dalam permintaan pull untuk berhasil dibangun dengan cabang yang dilindungi sebelum permintaan pull dapat diselesaikan.
Kebijakan build mengurangi jeda dan menjaga hasil pengujian Anda tetap lolos. Kebijakan build membantu meskipun Anda menggunakan integrasi berkelanjutan (CI) di cabang pengembangan Anda untuk menangkap masalah lebih awal.
Jika kebijakan validasi build diaktifkan, build baru diantrekan saat permintaan pull baru dibuat atau ketika perubahan didorong ke permintaan pull yang ada yang menargetkan cabang. Kebijakan build kemudian mengevaluasi hasil build untuk menentukan apakah permintaan pull dapat diselesaikan.
Penting
Sebelum menentukan kebijakan validasi build, Anda harus memiliki definisi build. Jika Anda tidak memilikinya, lihat Membuat definisi build dan memilih jenis build yang cocok dengan jenis proyek Anda.
Pilih Tambahkan kebijakan build dan konfigurasikan opsi Anda di Tambahkan kebijakan build.
Pilih definisi Build.
Pilih jenis Pemicu. Pilih Otomatis (setiap kali cabang sumber diperbarui) atau Manual.
Pilih Persyaratan kebijakan. Jika Anda memilih Diperlukan, build harus berhasil diselesaikan untuk menyelesaikan permintaan pull. Pilih Opsional untuk memberikan pemberitahuan kegagalan build tetapi masih memungkinkan permintaan pull selesai.
Atur kedaluwarsa build untuk memastikan bahwa pembaruan pada cabang anda yang dilindungi tidak merusak perubahan untuk permintaan pull terbuka.
Segera ketika branch name diperbarui: Opsi ini mengatur status kebijakan build dalam permintaan pull gagal saat cabang yang dilindungi diperbarui. Antre ulang build untuk merefresh status build. Pengaturan ini memastikan bahwa perubahan dalam permintaan pull berhasil dibangun bahkan saat cabang yang dilindungi berubah. Opsi ini paling baik untuk tim yang memiliki cabang penting dengan volume perubahan yang lebih rendah. Tim yang bekerja di cabang pengembangan yang sibuk mungkin merasa terganggu untuk menunggu build selesai setiap kali cabang yang dilindungi diperbarui.
Setelah n berjam-jam jika branch name telah diperbarui: Opsi ini kedaluwarsa status kebijakan saat ini ketika cabang yang dilindungi diperbarui jika build yang lolos lebih lama dari ambang batas yang dimasukkan. Opsi ini adalah kompromi antara selalu memerlukan build ketika cabang yang dilindungi diperbarui dan tidak pernah memerlukannya. Pilihan ini sangat baik untuk mengurangi jumlah build ketika cabang anda yang dilindungi memiliki pembaruan yang sering.
Tidak Pernah: Pembaruan pada cabang yang dilindungi tidak mengubah status kebijakan. Nilai ini mengurangi jumlah build untuk cabang Anda. Ini dapat menyebabkan masalah saat menutup permintaan pull yang tidak diperbarui baru-baru ini.
Masukkan Nama tampilan opsional untuk kebijakan build ini. Nama ini mengidentifikasi kebijakan pada halaman Kebijakan cabang. Jika Anda tidak menentukan nama tampilan, kebijakan menggunakan nama definisi build.
Pilih Simpan.
Ketika pemilik mendorong perubahan yang berhasil dibangun, status kebijakan diperbarui. Jika Anda memiliki Segera saat branch name diperbarui atau Setelah n jam jika branch name telah memperbarui kebijakan build yang dipilih, status kebijakan akan diperbarui saat cabang yang dilindungi diperbarui jika build terbaru tidak lagi valid.
Pemeriksaan status
Layanan eksternal dapat menggunakan PR Status API untuk memposting status terperinci ke PR Anda. Kebijakan cabang untuk layanan tambahan memungkinkan layanan eksternal tersebut untuk berpartisipasi dalam alur kerja PR dan menetapkan persyaratan kebijakan.
Layanan eksternal dapat menggunakan PR Status API untuk memposting status terperinci ke PR Anda. Kebijakan cabang untuk layanan tambahan membawa kemampuan bagi layanan eksternal tersebut untuk berpartisipasi dalam alur kerja PR dan menetapkan persyaratan kebijakan.
Anda dapat secara otomatis menambahkan peninjau untuk menarik permintaan yang mengubah file di direktori dan file tertentu, atau ke semua permintaan pull dalam repositori.
Pilih tombol di + samping Peninjau yang disertakan secara otomatis.
Isi layar Tambahkan kebijakan peninjau baru.
Tambahkan orang dan grup ke Peninjau.
Pilih Opsional jika Anda ingin menambahkan peninjau secara otomatis, tetapi tidak memerlukan persetujuan mereka untuk menyelesaikan permintaan pull.
Atau, pilih Diperlukan jika permintaan pull tidak dapat diselesaikan hingga:
Setiap individu ditambahkan sebagai peninjau menyetujui perubahan.
Setidaknya satu orang di setiap grup ditambahkan sebagai peninjau menyetujui perubahan.
Jika hanya satu grup yang diperlukan, jumlah minimum anggota yang Anda tentukan menyetujui perubahan.
Tentukan file dan folder yang memerlukan peninjau yang disertakan secara otomatis. Biarkan bidang ini kosong untuk mengharuskan peninjau untuk semua permintaan pull di cabang.
Pilih Izinkan pemohon untuk menyetujui perubahan mereka sendiri jika pemilik permintaan pull dapat memilih untuk menyetujui permintaan pull mereka sendiri untuk memenuhi kebijakan ini.
Anda dapat menentukan pesan Umpan aktivitas yang muncul di permintaan pull.
Pilih Simpan.
Catatan
Fitur ini tersedia untuk Azure DevOps Server 2020 dan versi yang lebih baru.
Anda dapat menggunakan azure DevOps CLI az repos policy required-reviewer untuk mengatur dan memperbarui kebijakan peninjau yang diperlukan.
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true. Diperlukan.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main. Diperlukan.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true. Diperlukan.
message
Pesan umpan aktivitas yang muncul dalam permintaan pull. Diperlukan.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Diperlukan.
required-reviewer-ids
Alamat email peninjau dipisahkan oleh ;. Misalnya: john@contoso.com;alice@contoso.com.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
path-filter
Jalur untuk menerapkan kebijakan diterapkan. Mendukung jalur absolut, kartubebas, dan beberapa jalur yang dipisahkan oleh ;. Contoh: /WebApp/Models/Data.cs, , /WebApp/*atau *.cs, atau /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Contoh
Contoh berikut menetapkan Jamal Hartnett sebagai peninjau yang diperlukan untuk permintaan pull di main cabang repositori Fabrikam. Contoh ini menggunakan konfigurasi az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"default .
az repos policy required-reviewer create --blocking true --branch main --enabled true --message "Please review." --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --required-reviewer-ids fabrikamfiber4@hotmail.com --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------ ------------- ------------ ------------------------------------ ---------------
35 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Blokir jika kebijakan tidak terpenuhi. Nilai yang diterima: false, true.
branch
Nama cabang untuk memfilter hasil dengan kecocokan yang tepat. Parameter --repository-id diperlukan untuk menggunakan filter cabang. Misalnya: --branch main.
branch-match-type
branch Gunakan argumen untuk menerapkan kebijakan. Jika nilainya adalah exact, kebijakan berlaku pada cabang yang sama persis dengan --branch argumen. Jika nilainya adalah prefix, kebijakan berlaku di semua folder cabang yang cocok dengan awalan --branch dalam argumen. Nilai yang diterima: exact, prefix. Nilai default: exact.
detect
Mendeteksi organisasi secara otomatis. Nilai yang diterima: false, true.
enabled
Aktifkan kebijakan. Nilai yang diterima: false, true.
message
Pesan umpan aktivitas yang muncul dalam permintaan pull.
org
URL organisasi Azure DevOps. Anda dapat mengonfigurasi organisasi default dengan menggunakan az devops configure -d organization=<ORG_URL>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git. Contoh: https://dev.azure.com/MyOrganizationName/.
path-filter
Jalur untuk menerapkan kebijakan diterapkan. Mendukung jalur absolut, kartubebas, dan beberapa jalur yang dipisahkan oleh ;. Contoh: /WebApp/Models/Data.cs, , /WebApp/*atau *.cs, atau /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Nama atau ID proyek. Anda dapat mengonfigurasi proyek default menggunakan az devops configure -d project=<NAME_OR_ID>. Diperlukan jika tidak dikonfigurasi sebagai default atau diambil melalui konfigurasi git.
repository-id
ID repositori untuk memfilter hasil berdasarkan kecocokan yang tepat. Contohnya,--repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
required-reviewer-ids
Alamat email peninjau dipisahkan oleh ;. Misalnya: john@contoso.com;alice@contoso.com.
subscription
Nama atau ID langganan. Anda dapat mengonfigurasi langganan default menggunakan az account set -s <NAME_OR_ID>.
Perintah Azure DevOps CLI tidak didukung untuk Azure DevOps Server.
Pilih peninjau untuk direktori dan file tertentu di repositori Anda.
Peninjau ini secara otomatis ditambahkan ke permintaan pull yang mengubah file di sepanjang jalur tersebut. Anda juga dapat menentukan pesan umpan Aktivitas.
Jika Anda memilih Diperlukan, permintaan pull tidak dapat diselesaikan hingga:
Setiap pengguna ditambahkan sebagai peninjau untuk jalur menyetujui perubahan.
Setidaknya satu orang di setiap grup ditambahkan ke jalur menyetujui perubahan.
Jumlah peninjau yang ditentukan untuk setiap grup yang ditambahkan ke jalur menyetujui perubahan.
Pilih Opsional jika Anda ingin menambahkan peninjau secara otomatis, tetapi tidak memerlukan persetujuan mereka untuk menyelesaikan permintaan pull.
Anda dapat memilih Pemohon dapat menyetujui perubahan mereka sendiri.
Ketika semua peninjau yang diperlukan menyetujui kode, Anda dapat menyelesaikan permintaan pull.
Melewati kebijakan cabang
Dalam beberapa kasus, Anda mungkin perlu melewati persyaratan kebijakan. Izin bypass memungkinkan Anda mendorong perubahan ke cabang secara langsung, atau menyelesaikan permintaan pull yang tidak memenuhi kebijakan cabang. Anda dapat memberikan izin bypass kepada pengguna atau grup. Anda dapat mencakup izin bypass ke seluruh proyek, repositori, atau satu cabang.
Dua izin memungkinkan pengguna untuk melewati kebijakan cabang dengan cara yang berbeda:
Melewati kebijakan saat menyelesaikan permintaan pull hanya berlaku untuk penyelesaian permintaan pull. Pengguna dengan izin ini dapat menyelesaikan permintaan pull meskipun permintaan pull tidak memenuhi kebijakan.
Melewati kebijakan saat mendorong berlaku untuk mendorong dari repositori lokal dan pengeditan yang dilakukan di web. Pengguna dengan izin ini dapat mendorong perubahan langsung ke cabang yang dilindungi tanpa memenuhi persyaratan kebijakan.
Untuk informasi selengkapnya tentang mengelola izin ini, lihat Izin Git.
Dalam TFS 2015 hingga TFS 2018 Update 2, izin Pengecualian dari penegakan kebijakan memungkinkan pengguna dengan izin ini untuk melakukan tindakan berikut:
Ikut serta untuk mengambil alih kebijakan dan menyelesaikan permintaan pull meskipun kumpulan kebijakan cabang saat ini tidak terpenuhi.
Dorong langsung ke cabang meskipun cabang tersebut memiliki kebijakan cabang yang ditetapkan. Ketika pengguna dengan izin ini melakukan pendorongan yang akan mengambil alih kebijakan cabang, pendorongan secara otomatis melewati kebijakan cabang tanpa langkah atau peringatan keikutsertaan.
Penting
Berhati-hatilah saat memberikan kemampuan untuk melewati kebijakan, terutama di tingkat repositori dan proyek. Kebijakan adalah landasan manajemen kode sumber yang aman dan sesuai.
Filter jalur
Beberapa kebijakan cabang menawarkan filter jalur. Jika filter jalur diatur, kebijakan hanya berlaku untuk file yang cocok dengan filter jalur. Membiarkan bidang ini kosong berarti bahwa kebijakan berlaku untuk semua file di cabang.
Anda dapat menentukan jalur absolut (jalur harus dimulai baik oleh / atau kartubebas) dan kartubebas.
Contoh:
/WebApp/Models/Data.cs
/WebApp/*
*/Models/Data.cs
*.cs
Anda dapat menentukan beberapa jalur menggunakan ; sebagai pemisah.
Contoh:
/WebApp/Models/Data.cs;/ClientApp/Models/Data.cs
Jalur yang diawali dengan ! dikecualikan jika tidak akan disertakan.
Contoh:
/WebApp/*;!/WebApp/Tests/* menyertakan semua file dalam /WebApp kecuali file di /WebApp/Tests
!/WebApp/Tests/* menentukan tidak ada file, karena tidak ada yang disertakan terlebih dahulu
Dapatkah saya mendorong perubahan langsung ke cabang yang memiliki kebijakan cabang?
Anda tidak dapat mendorong perubahan langsung ke cabang dengan kebijakan cabang yang diperlukan kecuali Anda memiliki izin untuk melewati kebijakan cabang. Perubahan pada cabang ini hanya dapat dilakukan melalui permintaan pull. Anda dapat mendorong perubahan langsung ke cabang yang memiliki kebijakan cabang opsional , jika mereka tidak memiliki kebijakan cabang yang diperlukan.
Apa itu pelengkapan otomatis?
Tarik permintaan ke cabang dengan kebijakan cabang yang dikonfigurasi memiliki tombol Atur lengkapi otomatis. Pilih opsi ini untuk menyelesaikan permintaan pull secara otomatis setelah memenuhi semua kebijakan. Pelengkapan otomatis berguna saat Anda tidak mengharapkan masalah dengan perubahan Anda.
Kapan kondisi kebijakan cabang diperiksa?
Kebijakan cabang mengevaluasi kembali di server ketika pemilik permintaan pull mendorong perubahan dan ketika peninjau memilih. Jika kebijakan memicu build, status build diatur untuk menunggu hingga build selesai.
Dapatkah saya menggunakan definisi build XAML dalam kebijakan cabang?
Tidak, Anda tidak dapat menggunakan definisi build XAML dalam kebijakan cabang.
Karakter kartubebas apa yang dapat saya gunakan untuk peninjau kode yang diperlukan?
Tanda bintang * tunggal cocok dengan sejumlah karakter, termasuk garis miring / ke depan dan garis miring \belakang . Tanda tanya ? cocok dengan satu karakter.
Contoh:
*.sql mencocokkan semua file dengan ekstensi .sql .
/ConsoleApplication/* cocok dengan semua file di bawah folder bernama ConsoleApplication.
/.gitattributes cocok dengan file.gitattributes* di akar repositori.
*/.gitignorecocok dengan file .gitignore apa pun di repositori.
Apakah jalur peninjau kode yang diperlukan peka huruf besar/kecil?
Tidak, kebijakan cabang tidak peka huruf besar/kecil.
Bagaimana cara mengonfigurasi beberapa pengguna sebagai peninjau yang diperlukan, tetapi hanya memerlukan salah satu dari mereka untuk menyetujui?
Anda dapat menambahkan pengguna ke grup, lalu menambahkan grup sebagai peninjau. Setiap anggota grup kemudian dapat menyetujui untuk memenuhi persyaratan kebijakan.
Saya memiliki izin kebijakan bypass. Mengapa saya masih melihat kegagalan kebijakan dalam status permintaan pull?
Kebijakan yang dikonfigurasi selalu dievaluasi untuk perubahan permintaan pull. Untuk pengguna yang memiliki izin kebijakan bypass, status kebijakan yang dilaporkan hanya saran. Jika pengguna dengan izin bypass menyetujui, status kegagalan tidak memblokir penyelesaian permintaan pull.
Mengapa saya tidak dapat menyelesaikan permintaan pull saya sendiri saat "Izinkan pemohon menyetujui perubahan mereka sendiri diatur"?
Kebijakan Memerlukan jumlah minimum peninjau dan kebijakan Peninjau yang disertakan secara otomatis memiliki opsi untuk Mengizinkan pemohon menyetujui perubahan mereka sendiri. Dalam setiap kebijakan, pengaturan hanya berlaku untuk kebijakan tersebut. Pengaturan tidak memengaruhi kebijakan lain.
Misalnya, permintaan pull Anda memiliki kebijakan berikut yang ditetapkan:
Memerlukan jumlah minimum peninjau memerlukan setidaknya satu peninjau.
Peninjau yang disertakan secara otomatis mengharuskan Anda atau tim tempat Anda berada sebagai peninjau.
Peninjau yang disertakan secara otomatis memiliki Izinkan pemohon untuk menyetujui perubahan mereka sendiri yang diaktifkan.
Memerlukan jumlah minimum peninjau tidak mengaktifkan Izinkan pemohon untuk menyetujui perubahan mereka sendiri.
Dalam hal ini, persetujuan Anda memenuhi Peninjau yang disertakan secara otomatis, tetapi tidak Memerlukan jumlah minimum peninjau, sehingga Anda tidak dapat menyelesaikan permintaan pull.
Mungkin juga ada kebijakan lain, seperti Melarang pendorong terbaru menyetujui perubahan mereka sendiri, yang mencegah Anda menyetujui perubahan Anda sendiri bahkan jika Izinkan pemohon menyetujui perubahan mereka sendiri ditetapkan.
Apa yang terjadi ketika jalur dalam filter jalur tidak dimulai dengan / atau dengan kartubebas?
Jalur dalam filter jalur yang tidak dimulai dengan / atau dengan kartubebas tidak berpengaruh, dan filter jalur mengevaluasi seolah-olah jalur tersebut tidak ditentukan. Jalur seperti itu tidak dapat mencocokkan / jalur file absolut dimulai dengan.