Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Zásady pro větve pomáhají týmům chránit důležité větve vývoje. Zásady prosazují standardy kvality kódu a řízení změn vašeho týmu. Tento článek popisuje, jak nastavit a spravovat pravidla pro větve. Přehled všech zásad a nastavení úložiště a větví najdete v tématu Nastavení a zásady úložiště Git.
Větev s nakonfigurovanými požadovanými zásadami se nedá odstranit a vyžaduje žádosti o přijetí změn pro všechny změny.
Požadavky
Chcete-li nastavit zásady větve, musíte být členem skupiny zabezpečení Project Administrators, nebo mít oprávnění k úpravám zásad na úrovni úložiště. Další informace najdete v tématu Nastavení oprávnění úložiště Git.
Pokud chcete ke správě zásad větví použít Azure DevOps CLI az repos policy, postupujte podle kroků v Začít s Azure DevOps CLI.
- Chcete-li nastavit zásady větve, musíte být členem skupiny zabezpečení Project Administrators, nebo mít oprávnění k úpravám zásad na úrovni úložiště. Další informace najdete v tématu Nastavení oprávnění úložiště Git.
Pokud chcete spravovat pravidla větví, vyberte Repos>Větve a otevřete stránku Větve na webovém portálu.
Můžete se také dostat k nastavení zásad větve pomocí Projektového nastavení>Úložiště>Zásady>Zásady větve><Název větve>.
Větve, které mají zásady, zobrazují ikonu zásad. Ikonu můžete vybrat a přejít přímo do nastavení zásad větve.
Pokud chcete nastavit zásady větve, vyhledejte větev, kterou chcete spravovat. Seznam můžete procházet nebo hledat svoji větev v poli Prohledat název větve v pravém horním rohu.
Vyberte ikonu Další možnosti vedle větve a pak v místní nabídce vyberte Zásady větve.
Nakonfigurujte zásady na stránce nastavení větve. Popisy a pokyny pro jednotlivé typy zásad najdete v následujících částech.
Pomocí Azure DevOps CLI můžete vypsat nebo zobrazit zásady pro větev nebo úložiště.
Seznam zásad
Pokud chcete zobrazit seznam všech zásad v projektu, použijte příkaz az repos policy list.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parametry
| Parametr |
Popis |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
org, organization |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
query-examples |
Doporučený řetězec JMESPath Můžete zkopírovat jeden z dotazů a vložit ho za parametr --query v dvojitých uvozovkách, abyste viděli výsledky. Můžete přidat jedno nebo více pozičních klíčových slov, takže návrhy jsou založené na těchto klíčových slovech. |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příklad
Následující příkaz vrátí všechny zásady větví, které se projeví ve main větvi úložiště Fabrikam, ID d28cd374-e7f0-4b1f-ad60-f349f155d47c. ID úložiště můžete získat spuštěním příkazu az repos list.
Tento příklad používá následující výchozí konfiguraci: 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
Zobrazení podrobností o zásadách
Pokud chcete zobrazit podrobnosti o všech zásadách, použijte příkaz az repos policy show.
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parametry
| Parametr |
Popis |
id, policy-id |
Identifikátor zásady.
Povinný: |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
org, organization |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
query-examples |
Doporučený řetězec JMESPath Můžete zkopírovat jeden z dotazů a vložit ho za parametr --query v dvojitých uvozovkách, abyste viděli výsledky. Můžete přidat jedno nebo více pozičních klíčových slov, takže návrhy jsou založené na těchto klíčových slovech. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příkazová řádka Azure DevOps není podporována pro Azure DevOps Server.
Vyžadovat minimální počet revidujících
Revize kódu jsou důležité pro projekty vývoje softwaru. Abyste zajistili, že týmy kontrolují a schvalují PR, můžete vyžadovat schválení od minimálního počtu recenzentů. Základní zásada vyžaduje, aby zadaný počet revidujících kód schválil bez zamítnutí.
Chcete-li nastavit zásadu, v části Zásady větve nastavte Požadovat minimální počet kontrolorů na Zapnuto. Zadejte požadovaný počet revidujících a vyberte některou z následujících možností:
Vyberte povolit žadatelům schválit vlastní změny, aby autor žádosti o přijetí mohl hlasovat o schválení. Jinak může autor stále hlasovat Schválit na PR, ale jeho hlas se nezapočítává do minimálního počtu recenzentů.
Pokud chcete vynutit oddělení povinností, vyberte Zakázat nejnovějšímu schvalujícímu schválit vlastní změny. Ve výchozím nastavení může každý, kdo má ve zdrojové větvi oprávnění push, přidávat commity i hlasovat o schválení pull requestu. Když vyberete tuto možnost, znamená to, že hlas posledního uživatele, který provádí změny, se nepočítá, i když obvykle může schvalovat své vlastní změny.
Vyberte Povolit dokončení, i když někteří recenzenti hlasují pro čekání nebo odmítnutí , aby bylo umožněno dokončení žádosti o přijetí změn, i když někteří recenzenti hlasují proti schválení. Minimální počet revidujících musí stále schvalovat.
- V části Po zavedení nových změn:
- Vyberte Vyžadovat alespoň jedno schválení v poslední iteraci k tomu, abyste vyžadovali alespoň jeden schvalovací hlas pro poslední změnu zdrojové větve.
- Pokud chcete odebrat všechna hlasování o schválení, vyberte Obnovit všechna hlasování schválení (nevynuluje hlasy, které chcete odmítnout nebo počkat), ale hlasy můžete odmítnout nebo počkat, kdykoli se změní zdrojová větev.
- Výběrem možnosti Resetovat všechny hlasy recenzentů kódu odeberete všechny hlasy recenzentů kdykoli dojde ke změně zdrojové větve, včetně hlasů ke schválení, odmítnutí nebo čekání.
- V části Po zavedení nových změn:
- Vyberte Vyžadovat alespoň jedno schválení u každé iterace, abyste u poslední změny zdrojové větve vyžadovali alespoň jeden schvalovací hlas. Schválení uživatele se nezapočítává do žádné předchozí neschválené iterace odeslané tímto uživatelem. V důsledku toho se vyžaduje další schválení poslední iterace jiným uživatelem.
V Azure DevOps Serveru 2022.1 a novějším je vyžadováno alespoň jedno schválení každé iterace .
- Vyberte Vyžadovat alespoň jedno schválení v poslední iteraci k tomu, abyste vyžadovali alespoň jeden schvalovací hlas pro poslední změnu zdrojové větve.
- Pokud chcete odebrat všechna hlasování o schválení, vyberte Obnovit všechna hlasování schválení (nevynuluje hlasy, které chcete odmítnout nebo počkat), ale hlasy můžete odmítnout nebo počkat, kdykoli se změní zdrojová větev.
- Výběrem možnosti Resetovat všechny hlasy recenzentů kódu odeberete všechny hlasy recenzentů kdykoli dojde ke změně zdrojové větve, včetně hlasů ke schválení, odmítnutí nebo čekání.
Pokud všechny ostatní zásady projdou, tvůrce může žádost o přijetí změn dokončit, když ji schválí požadovaný počet revidujících.
Počet požadovaných schvalovatelů žádostí o přijetí změn můžete spravovat pomocí příkazu az repos policy approver-count.
Vytvoření zásad počtu schvalovatelů
Pokud chcete vytvořit zásadu počtu schvalovatelů, použijte az repos policy approver-count create.
az repos policy approver-count create --allow-downvotes {false, true}
--blocking {false, true}
--branch
--creator-vote-counts {false, true}
--enabled {false, true}
--minimum-approver-count
--repository-id
--reset-on-source-push {false, true}
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--project]
[--subscription]
Parametry
| Parametr |
Popis |
allow-downvotes |
Povolit záporné hlasy. Přijaté hodnoty: false, true.
Povinný: |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
Povinný: |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
Povinný: |
creator-vote-counts |
Spočítejte hlas autora. Přijaté hodnoty: false, true.
Povinný: |
enabled |
Povolte politiku. Přijaté hodnoty: false, true.
Povinný: |
minimum-approver-count |
Minimální požadovaný počet schvalovatelů. Například: 2.
Povinný: |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Povinný: |
reset-on-source-push |
Resetujte hlasy, když jsou změny odeslány do zdroje. Přijaté hodnoty: false, true.
Povinný: |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příklad
Následující příklad nastaví minimální počet požadovaných schválení 2 pro žádosti o přijetí změn ve main větvi úložiště Fabrikam. Tato zásada umožňuje záporné hlasy, což znamená, že žádosti o přijetí změn mohou být dokončeny i v případě, že někteří revizoři hlasují proti schválení, pokud je splněn minimální počet hlasů potřebný pro schválení. Pushnutí do zdrojové větve nepřepíše hlasy. Zásady také umožňují tvůrcům žádostí o přijetí změn schválit vlastní žádosti o přijetí změn.
Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Aktualizace zásad počtu schvalovatelů
Pokud chcete aktualizovat zásadu počtu schvalovatelů, použijte příkaz az repos policy approver-count update.
az repos policy approver-count update --id
[--allow-downvotes {false, true}]
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--creator-vote-counts {false, true}]
[--detect {false, true}]
[--enabled {false, true}]
[--minimum-approver-count]
[--org]
[--project]
[--repository-id]
[--reset-on-source-push {false, true}]
[--subscription]
Parametry
| Parametr |
Popis |
id, policy-id |
Identifikátor zásady.
Povinný: |
allow-downvotes |
Povolit záporné hlasy. Přijaté hodnoty: false, true. |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true. |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
creator-vote-counts |
Spočítejte hlas autora. Přijaté hodnoty: false, true. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
enabled |
Povolte politiku. Přijaté hodnoty: false, true. |
minimum-approver-count |
Minimální požadovaný počet schvalovatelů. Například: 2. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
reset-on-source-push |
Resetujte hlasy, když jsou změny odeslány do zdroje. Přijaté hodnoty: false, true. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příkazová řádka Azure DevOps není podporována pro Azure DevOps Server.
Kontrola propojených pracovních položek
Pro sledování správy úkolů můžete vyžadovat přidružení mezi PR a pracovními položkami. Propojení pracovních položek poskytuje více kontextu pro změny a zajišťuje, že aktualizace procházejí procesem sledování pracovních položek.
Pokud chcete zásadu nastavit, v části Zásady větve nastavte Možnost Vyhledat propojené pracovní položky na Zapnuto. Toto nastavení vyžaduje, aby pracovní položky byly propojeny s žádostí o přijetí změn, aby se žádost o přijetí změn sloučila.
Nastavení Volitelné, aby se zobrazovala upozornění, když nejsou propojené pracovní položky, ale povolte dokončení žádosti o přijetí změn.
Pomocí Azure CLI az repos policy work-item-linking můžete vytvořit a aktualizovat zásady propojení pracovních položek pro větev nebo úložiště.
Vytvoření zásad propojení pracovních položek
Pomocí az repos policy work-item-linking create vytvořte zásadu propojení pracovních položek pro úložiště nebo větve.
az repos policy work-item-linking create --blocking {false, true}
--branch
--enabled {false, true}
--repository-id
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--project]
[--subscription]
Parametry
| Parametr |
Popis |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
Povinný: |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
Povinný: |
enabled |
Povolte politiku. Přijaté hodnoty: false, true.
Povinný: |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Aktualizace zásad propojení pracovních položek
Použijte az repos policy work-item-linking update k aktualizaci politiky propojení pracovních položek pro úložiště nebo jednu či více větví.
az repos policy work-item-linking update --id
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--enabled {false, true}]
[--org]
[--project]
[--repository-id]
[--subscription]
Parametry
| Parametr |
Popis |
id, policy-id |
Identifikátor zásady.
Povinný: |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true. |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
enabled |
Povolte politiku. Přijaté hodnoty: false, true. |
minimum-approver-count |
Minimální požadovaný počet schvalovatelů. Například: 2. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příklad
Následující příklad aktualizuje ID 3 zásady pro main větev úložiště Fabrikam, aby byla povolena, ale zůstala jako volitelná. Příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
>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
Příkazová řádka Azure DevOps není podporována pro Azure DevOps Server.
Zásady kontroly vyřešení komentářů kontrolují, jestli jsou vyřešené všechny komentáře k PR.
Nakonfigurujte zásadu řešení komentářů pro vaší větev nastavením možností Kontrola vyřešení komentářů na Zapnuto. Pak vyberte, jestli se má zásada nastavit jako povinná nebo nepovinná.
Další informace o práci s komentáři k žádostem o přijetí změn viz Kontrola žádostí o přijetí změn.
K nastavení a aktualizaci zásad ohledně povinných komentářů můžete použít Azure DevOps CLI az repos policy comment-required.
Pokud chcete vytvořit zásadu řešení komentářů, použijte příkaz az repos policy comment-required create.
az repos policy comment-required create --blocking {false, true}
--branch
--enabled {false, true}
--repository-id
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--project]
[--subscription]
Parametry
| Parametr |
Popis |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
Povinný: |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
Povinný: |
enabled |
Povolte politiku. Přijaté hodnoty: false, true.
Povinný: |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Povinný: |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Pokud chcete aktualizovat zásady řešení komentářů, použijte příkaz az repos policy comment-required update.
az repos policy comment-required update --id
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--enabled {false, true}]
[--org]
[--project]
[--repository-id]
[--subscription]
Parametry
| Parametr |
Popis |
id, policy-id |
Identifikátor zásady.
Povinný: |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true. |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
enabled |
Povolte politiku. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příklad
Následující příklad aktualizuje ID 6 zásad pro řešení komentářů ve main větvi úložiště Fabrikam, které bude blokovat. Komentáře musí být vyřešeny, než mohou být žádosti o přijetí změn sloučeny. Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Příkazová řádka Azure DevOps není podporována pro Azure DevOps Server.
Omezení typů sloučení
Azure Repos má několik strategií sloučení a ve výchozím nastavení jsou všechny povolené. Konzistentní historii větví můžete udržovat vynucením strategie sloučení pro dokončení pull requestu (PR).
Nastavte omezení typů sloučení na Hodnotu Zapnuto , abyste omezili typy sloučení, které chcete povolit v úložišti.
-
Základní sloučení (bez rychlého posunu vpřed) vytvoří slučovací commit v cílové větvi, jehož rodičovské větve jsou cílová a zdrojová větev.
-
Squash merge vytvoří lineární historii s jediným potvrzením v cílové větvi se změnami ze zdrojové větve.
Přečtěte si další informace o sloučení squashů a o tom, jak ovlivňuje historii větví.
-
Rebase a fast-forward vytvoří lineární historii přehráním zdrojových potvrzení do cílové větve bez potvrzení sloučení.
-
Rebase with merge commit spustí původní commity na cílovou větev a také vytvoří merge commit.
Pomocí Azure DevOps CLI az repos policy merge-strategy můžete nastavit a aktualizovat zásady strategie sloučení.
Vytvoření zásady strategie sloučení
Pomocí příkazu az repos policy merge-strategy create vytvořte zásadu strategie sloučení.
az repos policy merge-strategy create --blocking {false, true}
--branch
--enabled {false, true}
--repository-id
[--allow-no-fast-forward {false, true}]
[--allow-rebase {false, true}]
[--allow-rebase-merge {false, true}]
[--allow-squash {false, true}]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--project]
[--subscription]
[--use-squash-merge {false, true}]
Parametry
| Parametr |
Popis |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
Povinný: |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
Povinný: |
enabled |
Povolte politiku. Přijaté hodnoty: false, true.
Povinný: |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Povinný: |
allow-no-fast-forward |
Základní sloučení bez fast forward. Zachovává nelineární historii přesně tak, jak se to stalo během vývoje. Přijaté hodnoty: false, true. |
allow-rebase |
Přemísněte a rychle dopředu. Vytvoří lineární historii tak, že přehraje potvrzení zdrojové větve do cíle bez potvrzení sloučení. Přijaté hodnoty: false, true. |
allow-rebase-merge |
Změna základu s potvrzením sloučení Vytvoří pololineární historii tím, že aplikuje potvrzení ze zdrojové větve na cílovou větev a pak vytvoří slučovací potvrzení. Přijaté hodnoty: false, true. |
allow-squash |
Squash merge (sloučení komprimovaných změn) Vytvoří lineární historii zhuštěním potvrzení zdrojové větve do jednoho nového potvrzení v cílové větvi. Přijaté hodnoty: false, true. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
use-squash-merge |
Vždy použijte squash sloučení. Tato možnost není dostupná pro jiné typy sloučení. Přijaté hodnoty: false, true.
Poznámka: use-squash-merge Je zastaralý a bude odebrán v budoucí verzi. Místo toho použijte --allow-squash. |
Příklad
Následující příklad nastaví požadovanou strategii sloučení pro žádosti o přijetí změn ve main větvi úložiště Fabrikam a umožňuje squash sloučení. Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Aktualizace zásad strategie sloučení
Pomocí příkazu az repos policy merge-strategy update můžete aktualizovat zásady strategie sloučení.
az repos policy merge-strategy update --id
[--allow-no-fast-forward {false, true}]
[--allow-rebase {false, true}]
[--allow-rebase-merge {false, true}]
[--allow-squash {false, true}]
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--enabled {false, true}]
[--org]
[--project]
[--repository-id]
[--subscription]
[--use-squash-merge {false, true}]
Parametry
| Parametr |
Popis |
id, policy-id |
Identifikátor zásady.
Povinný: |
allow-no-fast-forward |
Základní sloučení bez fast forward. Zachovává nelineární historii přesně tak, jak se to stalo během vývoje. Přijaté hodnoty: false, true. |
allow-rebase |
Přemísněte a rychle dopředu. Vytvoří lineární historii tak, že přehraje potvrzení zdrojové větve do cíle bez potvrzení sloučení. Přijaté hodnoty: false, true. |
allow-rebase-merge |
Změna základu s potvrzením sloučení Vytvoří pololineární historii tím, že aplikuje potvrzení ze zdrojové větve na cílovou větev a pak vytvoří slučovací potvrzení. Přijaté hodnoty: false, true. |
allow-squash |
Squash merge (sloučení komprimovaných změn) Vytvoří lineární historii zhuštěním potvrzení zdrojové větve do jednoho nového potvrzení v cílové větvi. Přijaté hodnoty: false, true. |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true. |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
enabled |
Povolte politiku. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
use-squash-merge |
Zda vždy použít squash sloučení. Tato možnost nefunguje u jiných typů sloučení. Přijaté hodnoty: false, true. |
Příkazová řádka Azure DevOps není podporována pro Azure DevOps Server.
Ověření sestavení
Můžete nastavit zásadu, která vyžaduje, aby změny v PR byly úspěšně sestaveny před dokončením PR.
Zásady sestavování snižují přestávky a zajistí, že výsledky testů jsou úspěšné. Zásady vytváření pomáhají i v případě, že ve svých vývojových větvích používáte kontinuální integraci (CI), abyste mohli včas zachytit problémy.
Zásady ověření sestavení zařadí nové sestavení do fronty, když se vytvoří nový pull request (PR) nebo se změny odeslány do existujícího pull requestu (PR), který je zaměřen na větev. Zásada sestavení vyhodnocuje výsledky sestavení a určí, jestli je možné žádost o přijetí změn dokončit.
Důležité
Před specifikací zásad ověřování sestavení mějte připravený build pipeline. Pokud nemáte potrubí, podívejte se na Vytvoření potrubí buildu. Zvolte typ sestavení, který odpovídá vašemu typu projektu.
Přidejte zásadu ověřování sestavení
Vyberte tlačítko + vedle ověření sestavení.
Vyplňte formulář Nastavit zásady sestavení:
Vyberte kanál buildu.
Volitelně můžete nastavit filtr cesty.
Přečtěte si další informace o filtrech cest v zásadách větvových politik.
V části Aktivační událost vyberte Automaticky (při každé aktualizaci zdrojové větve) nebo Ruční.
V části Požadavek na politiku vyberte Povinné nebo Volitelné. Pokud zvolíte Povinné, sestavení musí být úspěšně dokončeno, aby se dokončily pull requesty. Zvolte Volitelné, pokud chcete poskytnout oznámení o selhání sestavení, a přesto umožnit dokončení pull requestů.
Nastavte vypršení platnosti sestavení, abyste měli jistotu, že aktualizace chráněné větve nepřeruší vývoj pro otevřené pull requesty.
Ihned při aktualizaci názvu větve: Tato možnost nastaví stav zásad sestavení žádosti o přijetí změn na selhání při každé aktualizaci větve a znovu zařadí sestavení do fronty. Toto nastavení zajistí, že se změny v pull requestu úspěšně sestaví i v případě, že se změní chráněná větev.
Tato možnost je nejvhodnější pro týmy, jejichž důležité větve mají několik změn. Týmy pracující na zaneprázdněných vývojových větvích mohou považovat čekání na sestavení při každé aktualizaci větve za rušivé.
Po <n> hodinách, pokud <je název> větve aktualizován: Tato možnost vyprší aktuální stav zásad, když se chráněná větev aktualizuje, pokud je předávací build starší než zadaná prahová hodnota. Tato možnost představuje kompromis mezi tím, kdy při aktualizaci chráněné větve vždy vyžaduje sestavení a kdy to nikdy nevyžaduje. Tento výběr snižuje počet sestavení, když má vaše chráněná větev časté aktualizace.
Nikdy: Aktualizace chráněné větve nemění stav politiky. Tato hodnota snižuje počet sestavení, ale může způsobit problémy při uzavírání pull requestů, které nebyly nedávno aktualizovány.
Zadejte volitelný zobrazovaný název pro tuto zásadu sestavení. Tento název identifikuje zásadu na stránce Zásady větve. Pokud nezadáte zobrazovaný název, zásada použije název kanálu buildu.
Zvolte Uložit.
Když vlastník PR odešle změny, které se úspěšně sestaví, stav politiky se aktualizuje.
Pokud máte zásadu sestavení pro Okamžitě když je <název větve> aktualizovaný nebo Po <n> hodinách, pokud byl <název větve> aktualizován, stav zásad se aktualizuje při aktualizaci chráněné větve, pokud předchozí build už není platný.
Pomocí Azure DevOps CLI az repos policy build můžete nastavit a aktualizovat zásady ověřování sestavení.
Vytvořte zásadu ověření sestavení
Pomocí az repos policy build create vytvořte politiku ověření sestavení.
az repos policy build create --blocking {false, true}
--branch
--build-definition-id
--display-name
--enabled {false, true}
--manual-queue-only {false, true}
--queue-on-source-update-only {false, true}
--repository-id
--valid-duration
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--path-filter]
[--project]
[--subscription]
Parametry
| Parametr |
Popis |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
Povinný: |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
Povinný: |
build-definition-id |
ID definice sestavení.
Povinný: |
display-name |
Zobrazovaný název této zásady sestavení k její identifikaci. Například: Manual queue policy.
Povinný: |
enabled |
Povolte politiku. Přijaté hodnoty: false, true.
Povinný: |
manual-queue-only |
Určuje, jestli chcete povolit pouze ruční frontu sestavení. Přijaté hodnoty: false, true.
Povinný: |
queue-on-source-update-only |
Určuje, jestli se mají sestavení zařadit do fronty pouze v případech, kdy se aktualizují zdroje. Přijaté hodnoty: false, true.
Povinný: |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Povinný: |
valid-duration |
Doba platnosti zásad v minutách.
Poznámka:valid-duration musí být mezi nulou a jedním rokem a musí být nula, pokud --queue-on-source-update-only je false.
Povinný: |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Cesta, na kterou se politika aplikuje. Podporuje absolutní cesty, zástupné znaky a více cest oddělených znakem ;. Příklady: /WebApp/Models/Data.cs, /WebApp/*nebo *.cs, nebo /WebApp/Models/Data.cs;ClientApp/Models/Data.cs. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příklad
Následující příklad nastaví požadovanou zásadu sestavení pro žádosti o přijetí změn ve main větvi úložiště Fabrikam. Zásada vyžaduje úspěšné sestavení definice sestavení s ID 1 a umožňuje pouze ruční zadávání sestavení do fronty. Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Aktualizace zásad ověření sestavení
Pomocí příkazu az repos policy build update aktualizujte zásady ověření sestavení.
az repos policy build update --id
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--build-definition-id]
[--detect {false, true}]
[--display-name]
[--enabled {false, true}]
[--manual-queue-only {false, true}]
[--org]
[--path-filter]
[--project]
[--queue-on-source-update-only {false, true}]
[--repository-id]
[--subscription]
[--valid-duration]
Parametry
| Parametr |
Popis |
id, policy-id |
Identifikátor zásady.
Povinný: |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true. |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
build-definition-id |
ID definice sestavení. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
display-name |
Zobrazovaný název této zásady sestavení k její identifikaci. Například: Manual queue policy. |
enabled |
Povolte politiku. Přijaté hodnoty: false, true. |
manual-queue-only |
Určuje, jestli chcete povolit pouze ruční frontu sestavení. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Cesty, na které má být zásada použita. Podporuje absolutní cesty, zástupné znaky a více cest oddělených znakem ;. Příklady: /WebApp/Models/Data.cs, /WebApp/*nebo *.cs, nebo /WebApp/Models/Data.cs;ClientApp/Models/Data.cs. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
queue-on-source-update-only |
Určuje, jestli se mají sestavení zařadit do fronty pouze v případech, kdy se aktualizují zdroje. Přijaté hodnoty: false, true. |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
valid-duration |
Doba platnosti zásad v minutách. |
Příkazová řádka Azure DevOps není podporována pro Azure DevOps Server.
Kontroly stavu
Externí služby mohou použít rozhraní Status API pro PR k publikování podrobného stavu vašich žádostí o přijetí změn. Pravidla větve pro dodatečné služby umožňují těmto externím službám účastnit se pracovního postupu žádosti o přijetí změn a nastavit požadavky na pravidla.
Pokyny ke konfiguraci této zásady najdete v tématu Konfigurace zásad větve pro externí službu.
Automatické zahrnutí recenzentů kódu
Kontrolory můžete automaticky přidávat k žádostem o přijetí změn, které upravují soubory v konkrétních adresářích a souborech, nebo ke všem žádostem o přijetí změn v úložišti.
+ Vyberte tlačítko vedle automaticky zahrnutých recenzentů.
Vyplňte obrazovku Přidat novou politiku recenzenta.
Přidejte lidi a skupiny do revidujících.
Vyberte Volitelné, pokud chcete přidat revidenty automaticky, ale nevyžadujete jejich schválení pro dokončení žádosti o přijetí změn.
Nebo vyberte Povinné, pokud nelze žádosti o přijetí změn dokončit do:
- Každý jednotlivec přidaný jako kontrolor změny schválí.
- Změny schválí alespoň jedna osoba v každé skupině přidaná jako kontrolor.
- Pokud je vyžadována pouze jedna skupina, minimální počet členů, které určíte, schválí změny.
Zadejte soubory a složky, které mají automaticky zahrnuty revizory. Nechte toto pole prázdné, aby byly vyžadovány schvalovatelé pro všechny pull requesty v této větvi.
Pokud mohou vlastníci žádostí o přijetí změn hlasovat pro schválení vlastních žádostí, aby splnili tuto politiku, vyberte Povolit žadatelům schválit vlastní změny.
Můžete zadat zprávu informačního kanálu o aktivitách, která se zobrazí v žádosti o přijetí změn.
Zvolte Uložit.
K nastavení a aktualizaci zásad pro požadované recenzenty můžete použít Azure DevOps CLI az repos policy required-reviewer.
Vytvořit zásady pro povinné revizory
Pomocí az repos policy required-reviewer create vytvořte zásadu povinného revizora.
az repos policy required-reviewer create --blocking {false, true}
--branch
--enabled {false, true}
--message
--repository-id
--required-reviewer-ids
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--path-filter]
[--project]
[--subscription]
Parametry
| Parametr |
Popis |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
Povinný: |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
Povinný: |
enabled |
Povolte politiku. Přijaté hodnoty: false, true.
Povinný: |
message |
Zpráva kanálu aktivit, která se zobrazí v pull requestu.
Povinný: |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Povinný: |
required-reviewer-ids |
E-mailové adresy recenzentů oddělené pomocí ;. Například: john@contoso.com;alice@contoso.com. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Cesty, na které má být zásada použita. Podporuje absolutní cesty, zástupné znaky a více cest oddělených znakem ;. Příklady: /WebApp/Models/Data.cs, /WebApp/*nebo *.cs, nebo /WebApp/Models/Data.cs;ClientApp/Models/Data.cs. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příklad
Následující příklad určuje Jamala Hartnetta jako povinného recenzenta u žádostí o přijetí změn ve main větvi úložiště Fabrikam. Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Aktualizace politiky požadovaných recenzentů
K aktualizaci zásad povinného kontrolora použijte az repos policy required-reviewer update.
az repos policy required-reviewer update --id
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--enabled {false, true}]
[--message]
[--org]
[--path-filter]
[--project]
[--repository-id]
[--required-reviewer-ids]
[--subscription]
Parametry
| Parametr |
Popis |
id, policy-id |
Identifikátor zásady.
Povinný: |
blocking |
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true. |
branch |
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main. |
branch-match-type |
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je hodnota prefix, zásada se vztahuje na všechny složky větví, které odpovídají předponě ve výrazu --branch. Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact. |
detect |
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true. |
enabled |
Povolte politiku. Přijaté hodnoty: false, true. |
message |
Zpráva kanálu aktivit, která se zobrazí v pull requestu. |
org |
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Cesty, na které má být zásada použita. Podporuje absolutní cesty, zástupné znaky a více cest oddělených znakem ;. Příklady: /WebApp/Models/Data.cs, /WebApp/*nebo *.cs, nebo /WebApp/Models/Data.cs;ClientApp/Models/Data.cs. |
project, p |
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>.
Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. |
repository-id |
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
required-reviewer-ids |
E-mailové adresy recenzentů oddělené pomocí ;. Například: john@contoso.com;alice@contoso.com. |
subscription |
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>. |
Příkazová řádka Azure DevOps není podporována pro Azure DevOps Server.
Obejití zásad poboček
V některých případech možná budete muset obejít požadavky zásad. Oprávnění k obcházení vám umožní přenést změny přímo do větve nebo dokončit pull requesty, které nevyhovují zásadám větvení. Uživateli nebo skupině můžete udělit oprávnění k obejití. Můžete nastavit působnost oprávnění pro obejití pro celý projekt, úložiště nebo jednotlivou větev.
Dvě oprávnění umožňují uživatelům obejít zásady větví různými způsoby:
Zásady obejití při dokončování žádostí o přijetí změn se vztahují pouze na dokončení žádosti o přijetí změn. Uživatelé s tímto oprávněním mohou provádět žádosti o přijetí změn i v případě, že žádosti o přijetí změn nesplňují zásady.
Obcházení zásad při přesunech se vztahuje na přesuny z místních úložišť a úpravy prováděné na webu. Uživatelé s tímto oprávněním můžou odesílat změny přímo do chráněných větví bez splnění požadavků zásad.
Další informace o správě těchto oprávnění najdete v tématu Oprávnění Gitu.
Důležité
Při udělování možnosti obejít zásady, zejména na úrovni úložiště a projektu, buďte opatrní. Zásady jsou základním kamenem správy zabezpečeného a vyhovujícího zdrojového kódu.
Filtry cest
Několik zásad větví nabízí filtry cest. Pokud je nastavený filtr cesty, zásada se vztahuje pouze na soubory, které odpovídají filtru cesty. Ponechání tohoto pole prázdné znamená, že zásada se vztahuje na všechny soubory ve větvi.
Můžete zadat absolutní cesty (cesta musí začínat buď znakem / , nebo zástupným znakem) a zástupné znaky.
Příklady:
/WebApp/Models/Data.cs
/WebApp/*
*/Models/Data.cs
*.cs
Můžete zadat více cest pomocí ; jako oddělovače.
Příklad:
/WebApp/Models/Data.cs;/ClientApp/Models/Data.cs
Cesty s předponou ! jsou vyloučeny, pokud by jinak byly zahrnuty.
Příklad:
-
/WebApp/*;!/WebApp/Tests/*zahrnuje všechny soubory kromě souborů v /WebApp/WebApp/Tests
-
!/WebApp/Tests/* určuje žádné soubory, protože nic není zahrnuto jako první.
Pořadí filtrů je významné. Filtry se použijí zleva doprava.
Otázky a odpovědi
Můžu změny přesunout přímo do větví, které mají politiky větví?
Změny nemůžete odesílat přímo do větví s požadovanými zásadami větví, pokud nemáte oprávnění k obcházení zásad větví. Změny těchto větví lze provádět pouze prostřednictvím pull requestů. Můžete změny nasdílet přímo do větví, které mají volitelné zásady, pokud nemají žádné povinné zásady větví.
Co je automatické dokončování?
Žádosti o přijetí změn do větví s nakonfigurovanými zásadami větví mají tlačítko Nastavit automatické dokončování . Tuto možnost vyberte, pokud chcete automaticky dokončit pull request, jakmile budou splněny všechny zásady. Automatické dokončování je užitečné, když neočekáváte žádné problémy se změnami.
Kdy jsou zkontrolovány podmínky zásad větve?
Zásady větví se na serveru znovu vyhodnotí, když vlastníci pull requestů provedou změny a při hlasování recenzentů. Pokud zásada aktivuje sestavení, stav sestavení se nastaví na čekání, dokud nebude sestavení dokončeno.
Mohu v zásadách větve používat definice sestavení XAML?
Ne, v zásadách větve nemůžete použít definice sestavení XAML.
Jaké zástupné znaky můžu použít pro požadované kontrolory kódu?
Jedna hvězdička * odpovídá libovolnému počtu znaků, včetně normálních lomítek / i zpětných lomítek \. Otazníky ? odpovídají jakémukoli jednomu znaku.
Příklady:
-
*.sql odpovídá všem souborům s příponou .sql .
-
/ConsoleApplication/* odpovídá všem souborům ve složce s názvem ConsoleApplication.
-
/.gitattributes odpovídá souboru.gitattributes* v kořenovém adresáři úložiště.
-
*/.gitignore odpovídá jakémukoli souboru .gitignore v úložišti.
Rozlišují se malá a velká písmena v cestách požadovaných pro kontrolory kódu?
Ne, zásady větví nerozlišují malá a velká písmena.
Uživatele můžete přidat do skupiny a potom přidat skupinu jako recenzenta. Každý člen skupiny může poté schválit splnění požadavku dané zásady.
Mám oprávnění k obejití zásad. Proč se stále zobrazují problémy ve stavu pull requestu?
Nakonfigurované zásady se vždy vyhodnocují pro změny u pull requestů. Pro uživatele, kteří mají oprávnění k obejití zásad, je nahlášený stav zásad pouze informativní. Pokud uživatel s oprávněními k obejití schválí, stav selhání neblokuje dokončení pull requestu.
Proč nemůžu dokončit vlastní žádosti o přijetí změn, když je nastavená možnost Povolit žadatelům schválit vlastní změny?
Zásady Vyžadovat minimální počet revidujících a automaticky zahrnuté zásady kontrolorů mají možnosti povolit žadatelům schválit vlastní změny. Nastavení se v každé zásadě vztahuje pouze na tuto zásadu. Nastavení nemá vliv na ostatní zásady.
Například váš pull request má nastavené následující politiky:
-
Vyžadovat minimální počet revidujících vyžaduje alespoň jednoho revidujícího.
-
Automaticky zahrnutí kontroloři vyžadují vás nebo tým, ve kterém jste, jako kontrolora.
-
Automaticky zahrnutý revidující má povoleno žadatelům schválit vlastní změny.
-
Vyžadovat minimální počet revidujících nemá povolení umožnit žadatelům schvalovat jejich vlastní změny.
V tomto případě vaše schválení splňuje podmínky pro automaticky zahrnuté kontrolory, ale ne splnění podmínky pro požadavek na minimální počet kontrolorů, takže nemůžete dokončit pull request.
Můžou se zde vyskytovat i další zásady, jako například Zakázat nejnovějšímu autorovi změn schválení vlastních změn, které vám brání ve schvalování vlastních změn, i když je nastavená možnost Povolit žadatelům schválit vlastní změny.
Co se stane, když cesta ve filtrech cest nezačíná / nebo se zástupným znakem?
Cesta ve filtrech cest, která nezačíná znakem / nebo zástupným znakem, nemá žádný účinek a filtr cesty se vyhodnotí, jako by ta cesta nebyla zadána. Taková cesta nemůže odpovídat / absolutní cestě k souboru, která začíná.
Související články