Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020
Grenprinciper hjälper team att skydda sina viktiga utvecklingsgrenar . Policys upprätthåller ditt teams standarder för kodkvalitet och ändringshantering. I den här artikeln beskrivs hur du ställer in och hanterar grenprinciper. En översikt över alla principer och inställningar för lagringsplats och gren finns i Inställningar och principer för Git-lagringsplats.
En gren med nödvändiga principer som konfigurerats kan inte tas bort och kräver pull-begäranden (PR) för alla ändringar.
Förutsättningar
Om du vill ange grenprinciper måste du vara medlem i säkerhetsgruppen Projektadministratörer eller ha Redigera principer på lagringsplatsnivå behörigheter. Mer information finns i Ange Behörigheter för Git-lagringsplats.
Om du vill använda Azure DevOps CLI az repos policy-kommandon för att hantera grenprinciper följer du stegen i Kom igång med Azure DevOps CLI.
- Om du vill ange grenprinciper måste du vara medlem i säkerhetsgruppen Projektadministratörer eller ha Redigera principer på lagringsplatsnivå behörigheter. Mer information finns i Ange Behörigheter för Git-lagringsplats.
För att hantera grenprinciper väljer du Repos>Grenar för att öppna sidan Grenar i webbportalen.
Du kan också komma åt inställningarna för förgreningsprinciper med Projektinställningar>Arkiv>Principer>Förgreningsprinciper><Förgreningsnamn>.
Grenar som har policys visar en policyikon. Du kan välja ikonen för att gå direkt till grenens principinställningar.
Om du vill ange grenprinciper letar du upp den gren som du vill hantera. Du kan bläddra i listan eller söka efter din gren i rutan Sök grennamn uppe till höger.
Välj först ikonen Fler alternativ bredvid grenen, och välj sedan Grenpolicys från snabbmenyn.
Konfigurera principer på grenens inställningssida. Se följande avsnitt för beskrivningar och instruktioner för varje principtyp.
Du kan använda Azure DevOps CLI för att lista eller visa principer för en gren eller lagringsplats.
Lista principer
Om du vill visa en lista över alla principer i ett projekt använder du az repos policy list.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parameters
| Parameter |
Beskrivning |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
org, organization |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
query-examples |
Rekommenderad JMESPath-sträng. Du kan kopiera en av frågorna och klistra in den efter parametern --query inom dubbla citattecken för att se resultatet. Du kan lägga till ett eller flera positionsnyckelord så att förslag baseras på dessa nyckelord. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Exempel
Följande kommando returnerar alla förgreningsprinciper som gäller i grenen main på Fabrikam-lagringsplatsen, ID d28cd374-e7f0-4b1f-ad60-f349f155d47c. Du kan hämta lagringsplatsens ID genom att köra az repos list.
I det här exemplet används följande standardkonfiguration: 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
Visa information om en policy
Om du vill visa detaljerna för en policy använder du az repos policy show.
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parameters
| Parameter |
Beskrivning |
id, policy-id |
ID för policyn.
Obligatoriska. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
org, organization |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
query-examples |
Rekommenderad JMESPath-sträng. Du kan kopiera en av frågorna och klistra in den efter parametern --query inom dubbla citattecken för att se resultatet. Du kan lägga till ett eller flera positionsnyckelord så att förslag baseras på dessa nyckelord. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Kräv ett minsta antal granskare
Kodgranskningar är viktiga för programutvecklingsprojekt. För att säkerställa att team granskar och godkänner pr-begäranden kan du kräva godkännande från ett minsta antal granskare. Den grundläggande principen kräver att ett angivet antal granskare godkänner koden, utan avvisanden.
Om du vill ange principen under Avdelningsprinciper anger du Kräv ett minsta antal granskare till På. Ange det antal granskare som krävs och välj något av följande alternativ:
Välj Tillåt begäranden att godkänna sina egna ändringar för att låta skaparen av en PR rösta på att godkänna den. Annars kan skaparen fortfarande rösta Godkänn på PR, men deras röst räknas inte mot det minsta antalet granskare.
Välj Förhindra att den senaste pusharen godkänner sina egna ändringar för att säkerställa ansvarsuppdelning. Som standardinställning kan alla som har push-behörighet på källgrenen både lägga till ändringar och rösta om godkännande av PR. Om du väljer det här alternativet räknas inte den senaste pusherns röst, även om de vanligtvis kan godkänna sina egna ändringar.
Välj Tillåt slutförande även om vissa granskare röstar för att vänta eller avvisa för att tillåta pr-slutförande även om vissa granskare röstar emot godkännande. Det minsta antalet granskare måste fortfarande godkänna.
- Under När nya ändringar skickas:
- Välj Kräv minst ett godkännande för den senaste iterationen för att kräva minst en godkännandeomröstning för den senaste ändringen av källgrenen.
- Välj Återställ alla godkännanderöster (återställer inte röster för att avvisa eller vänta) för att ta bort alla godkännanderöster, men behåll röster för att avvisa eller vänta när källgrenen ändras.
- Välj Återställ alla röster för kodgranskare för att ta bort alla granskarröster när källgrenen ändras, inklusive röster för att godkänna, avvisa eller vänta.
- Under När nya ändringar skickas:
- Välj Kräv minst ett godkännande för varje iteration för att kräva minst en godkännanderöst för den senaste ändringen av källgrenen. Användarens godkännande räknas inte mot några tidigare icke godkända iterationer som användaren har pushat. Därför måste en annan användare godkänna den senaste iterationen.
Kräv minst ett godkännande för varje iteration som är tillgänglig i Azure DevOps Server 2022.1 och senare.
- Välj Kräv minst ett godkännande för den senaste iterationen för att kräva minst en godkännandeomröstning för den senaste ändringen av källgrenen.
- Välj Återställ alla godkännanderöster (återställer inte röster för att avvisa eller vänta) för att ta bort alla godkännanderöster, men behåll röster för att avvisa eller vänta när källgrenen ändras.
- Välj Återställ alla röster för kodgranskare för att ta bort alla granskarröster när källgrenen ändras, inklusive röster för att godkänna, avvisa eller vänta.
Om alla andra regler godkänns kan skaparen genomföra PR:n när det begärda antalet granskare godkänner den.
Du kan hantera antalet nödvändiga godkännare för pull-begäranden med az repos policy approver-count.
Skapa princip för antal godkännare
Om du vill skapa en princip för antal godkännare använder du 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]
Parameters
| Parameter |
Beskrivning |
allow-downvotes |
Tillåt nedröstning. Godkända värden: false, true.
Obligatoriska. |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true.
Obligatoriska. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
Obligatoriska. |
creator-vote-counts |
Räkna skaparens röst. Godkända värden: false, true.
Obligatoriska. |
enabled |
Aktivera policyn. Godkända värden: false, true.
Obligatoriska. |
minimum-approver-count |
Minsta antal godkännare som krävs. Exempel: 2.
Obligatoriska. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
Obligatoriska. |
reset-on-source-push |
Återställ röster när ändringar skickas till källan. Godkända värden: false, true.
Obligatoriska. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Exempel
I följande exempel anges minsta antal nödvändiga godkännanden för 2 pull-förfrågningar i grenen main av Fabrikam-repositoriet. Policyn tillåter att rösta ner, vilket innebär att pull-begäranden kan slutföras även om vissa granskare röstar mot att godkänna, så länge det minsta antal röstar för. Push-överföring till källgrenen återställer inte röster. Principen gör det också möjligt för pull-begärandeskapare att godkänna sina egna pull-begäranden.
I det här exemplet används standardkonfigurationen 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
Uppdatera principen för antal godkännare
Om du vill uppdatera en princip för antal godkännare, använd 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]
Parameters
| Parameter |
Beskrivning |
id, policy-id |
ID för policyn.
Obligatoriska. |
allow-downvotes |
Tillåt nedröstning. Godkända värden: false, true. |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
creator-vote-counts |
Räkna skaparens röst. Godkända värden: false, true. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
enabled |
Aktivera policyn. Godkända värden: false, true. |
minimum-approver-count |
Minsta antal godkännare som krävs. Exempel: 2. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 |
reset-on-source-push |
Återställ röster när ändringar skickas till källan. Godkända värden: false, true. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Sök efter länkade arbetsobjekt
För spårning av arbetsobjektshantering kan du kräva associationer mellan pr och arbetsobjekt. Länkning av arbetsobjekt ger mer kontext för ändringar och säkerställer att uppdateringarna går igenom spårningsprocessen för arbetsobjekt.
Om du vill ange principen under Avdelningsprinciper anger du Sök efter länkade arbetsobjekt till På. Den här inställningen kräver att arbetsuppgifter är länkade till en PR för att PR:n ska kunna slås ihop. Gör inställningen Valfri för att varna när det inte finns några länkade arbetsobjekt, men tillåt slutförande av pull-begäran.
Du kan använda Azure CLI az repos policy work-item-linking för att skapa och uppdatera länkningsprinciper för arbetsobjekt för en gren eller lagringsplats.
Skapa länkprincip för arbetsobjekt
Använd az repos policy work-item-linking create för att skapa en länkningsprincip för arbetsobjekt för en lagringsplats eller grenar.
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]
Parameters
| Parameter |
Beskrivning |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true.
Obligatoriska. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
Obligatoriska. |
enabled |
Aktivera policyn. Godkända värden: false, true.
Obligatoriska. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Uppdatera länkningsprincip för arbetsobjekt
Använd az repos policy work-item-linking update för att uppdatera en länkningsprincip för arbetsobjekt för en lagringsplats eller en eller flera grenar.
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]
Parameters
| Parameter |
Beskrivning |
id, policy-id |
ID för policyn.
Obligatoriska. |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
enabled |
Aktivera policyn. Godkända värden: false, true. |
minimum-approver-count |
Minsta antal godkännare som krävs. Exempel: 2. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Exempel
I följande exempel uppdateras princip-ID:t 3 för grenen main av Fabrikam-lagringsplatsen så att den aktiveras men förblir valfri. I exemplet används standardkonfigurationen 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
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Policyn Check for comment resolution kontrollerar om alla PR-kommentarer har lösts.
Konfigurera en policy för kommentarslösning för din gren genom att ställa in Kontrollera kommentarslösning till På. Välj sedan om du vill göra principen Obligatorisk eller Valfri.
Mer information om hur du arbetar med pull-begärandekommentärer finns i Granska pull-begäranden.
Du kan använda Azure DevOps CLI az repos policy comment-required för att ange och uppdatera policyn för kommentarhantering.
Om du vill skapa en policy för kommentarslösning använder du 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]
Parameters
| Parameter |
Beskrivning |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true.
Obligatoriska. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
Obligatoriska. |
enabled |
Aktivera policyn. Godkända värden: false, true.
Obligatoriska. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
Obligatoriska. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Om du vill uppdatera en policy för kommentarers lösning, använder du kommandot 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]
Parameters
| Parameter |
Beskrivning |
id, policy-id |
ID för policyn.
Obligatoriska. |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
enabled |
Aktivera policyn. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Exempel
I följande exempel uppdateras policy-ID för kommentarslösning 6 i grenen main av Fabrikam-lagringsplatsen till att blockera. Kommentarer måste lösas innan pull-begäranden kan sammanfogas. I det här exemplet används standardkonfigurationen 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
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Begränsa sammanslagningstyper
Azure Repos har flera sammanslagningsstrategier, och som standard tillåts alla. Du kan upprätthålla en konsekvent grenhistorik genom att framtvinga en sammanslagningsstrategi för slutförande av PR.
Ange Begränsa sammanslagningstyper till På för att begränsa vilka sammanslagningstyper som ska tillåtas på lagringsplatsen.
-
Grundläggande sammanslagning (ingen snabbsnabbning) skapar en sammanslagningsincheckning i målet vars överordnade objekt är mål- och källgrenarna.
-
Squash merge skapar en linjär historik med en enda commit i målgrenen med ändringarna från källgrenen.
Läs mer om squashsammanslagningen och hur den påverkar grenhistoriken.
-
Ombasera och fast-forward skapar en linjär historik genom att spela upp källändringar på målgrenen utan sammanfogning.
-
Ombasera med sammanslagningsincheckning spelar upp källincheckningarna på målet och skapar även en sammanslagningsincheckning.
Du kan använda Azure DevOps CLI az repos policy merge-strategy för att ange och uppdatera policyn för sammanslagningsstrategi.
Skapa en sammanslagningsstrategiprincip
Använd az repos policy merge-strategy create för att skapa en policy för sammanslagningsstrategi.
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}]
Parameters
| Parameter |
Beskrivning |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true.
Obligatoriska. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
Obligatoriska. |
enabled |
Aktivera policyn. Godkända värden: false, true.
Obligatoriska. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
Obligatoriska. |
allow-no-fast-forward |
Enkel sammanslagning utan snabbspolning framåt. Bevarar icke-linjär historik precis som under utvecklingen. Godkända värden: false, true. |
allow-rebase |
Rebasera och spola framåt. Skapar en linjär historik genom att spela upp källgrenens ändringar på målet utan ett sammanslagningsåtagande. Godkända värden: false, true. |
allow-rebase-merge |
Rebase med sammanslagningsändring. Skapar en semilinjära historik genom att spela upp källgrenens kommandon på målets gren och sedan skapa ett sammanslagningskommando. Godkända värden: false, true. |
allow-squash |
Squash sammanslagning. Skapar en linjär historik genom att komprimera källgrenens incheckningar till en enda ny incheckning på målgrenen. Godkända värden: false, true. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
use-squash-merge |
Alltid squash sammanslagning. Det här alternativet är inte tillgängligt för andra sammanslagningstyper. Godkända värden: false, true.
Observera:use-squash-merge är inaktuell och kommer att tas bort i en framtida version. Använd --allow-squash i stället. |
Exempel
I följande exempel anges en obligatorisk sammanslagningsstrategi för pull-begäranden i grenen main av Fabrikam-lagringsplatsen för att tillåta squashsammanslagning. I det här exemplet används standardkonfigurationen 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
Uppdatera en princip för sammanslagningsstrategi
Använd az repos policy merge-strategy update för att uppdatera en sammanslagningsstrategiprincip.
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}]
Parameters
| Parameter |
Beskrivning |
id, policy-id |
ID för policyn.
Obligatoriska. |
allow-no-fast-forward |
Enkel sammanslagning utan snabbspolning framåt. Bevarar icke-linjär historik precis som under utvecklingen. Godkända värden: false, true. |
allow-rebase |
Rebasera och spola framåt. Skapar en linjär historik genom att spela upp källgrenens ändringar på målet utan ett sammanslagningsåtagande. Godkända värden: false, true. |
allow-rebase-merge |
Rebase med sammanslagningsändring. Skapar en semilinjära historik genom att spela upp källgrenens kommandon på målets gren och sedan skapa ett sammanslagningskommando. Godkända värden: false, true. |
allow-squash |
Squash sammanslagning. Skapar en linjär historik genom att komprimera källgrenens incheckningar till en enda ny incheckning på målgrenen. Godkända värden: false, true. |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
enabled |
Aktivera policyn. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
use-squash-merge |
Huruvida man alltid ska squash-sammanslå. Det här alternativet fungerar inte för andra sammanslagningstyper. Godkända värden: false, true. |
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Byggverifiering
Du kan ange en princip som kräver att PR-ändringar byggs framgångsrikt innan PR kan slutföras.
Skapa principer minskar pauser och håller testresultaten klara. Byggprinciper hjälper även om du använder kontinuerlig integrering (CI) på dina utvecklingsgrenar för att fånga upp problem tidigt.
En byggvalideringsprincip köar en ny version när en ny PR skapas eller ändringar skickas till en befintlig PR som riktar sig mot grenen. Byggpolicyn utvärderar byggresultatet för att avgöra om PR:en kan fullbordas.
Viktigt!
Innan du anger en byggvalideringspolicy måste du ha en byggpipeline. Om du inte har någon pipeline, se Skapa en byggpipeline. Välj vilken typ av bygge som matchar din projekttyp.
Så här lägger du till en byggverifieringsprincip
+ Välj knappen bredvid Skapa validering.
Fyll i formuläret Ange byggprincip :
Välj byggpipen.
Du kan också ange ett sökvägsfilter.
Läs mer om sökvägsfilter i grenprinciper.
Under Utlösare väljer du Automatisk (när källgrenen uppdateras) eller Manuell.
Under Principkrav väljer du Obligatoriskt eller Valfritt. Om du väljer Obligatoriskt måste byggen slutföras framgångsrikt för att PR:er ska slutföras. Välj Valfritt om du vill ange ett meddelande om byggfelet men ändå tillåta att PR:er slutförs.
Ange ett byggdatum för att se till att uppdateringar av din skyddade gren inte bryter ändringar för öppna PR:er.
Omedelbart när <grennamnet> uppdateras: Det här alternativet anger status för PR-byggprincipen till misslyckad när grenen uppdateras och returnerar en version på nytt. Den här inställningen säkerställer att ändringarna i PR:en byggs framgångsrikt även om den skyddade grenen ändras.
Det här alternativet passar bäst för team vars viktiga grenar har få ändringar. Team som arbetar i upptagna utvecklingsgrenar kan tycka att det är störande att vänta på ett bygge varje gång grenen uppdateras.
Efter <n> timmar om <grennamnet> har uppdaterats: Det här alternativet upphör att gälla den aktuella principstatusen när den skyddade grenen uppdateras om den övergående versionen är äldre än det tröskelvärde som du anger. Det här alternativet är en kompromiss mellan att alltid eller aldrig kräva en build när den skyddade grenen uppdateras. Det här valet minskar antalet versioner när den skyddade grenen har frekventa uppdateringar.
Aldrig: Uppdateringar av den skyddade grenen ändrar inte principstatusen. Det här värdet minskar antalet kompileringar, men kan orsaka problem när du fullföljer PR:ar som inte har uppdaterats nyligen.
Ange ett valfritt visningsnamn för den här byggprincipen. Det här namnet identifierar policyn på sidan Grenprinciper. Om du inte anger visningsnamn använder principen namnet på byggpipeline.
Välj Spara.
När PR-owner pushar ändringar som kompileras framgångsrikt, uppdateras statusen för policyn.
Om du har en Så snart <grennamnet> uppdateras eller Efter <n> timmar om <grennamnet> har uppdaterats, uppdateras statusen för policyn när den skyddade grenen uppdateras, om den tidigare kompileringsversionen inte längre är giltig.
Du kan använda Azure DevOps CLI az repos policy build för att ange och uppdatera build-valideringsprincipen.
Skapa en byggverifieringsprincip
Använd az repos policy build create för att skapa en byggverifieringsprincip.
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]
Parameters
| Parameter |
Beskrivning |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true.
Obligatoriska. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
Obligatoriska. |
build-definition-id |
Byggdefinitions-ID.
Obligatoriska. |
display-name |
Visningsnamn för den här byggpolicyn för att identifiera policyn. Exempel: Manual queue policy.
Obligatoriska. |
enabled |
Aktivera policyn. Godkända värden: false, true.
Obligatoriska. |
manual-queue-only |
Huruvida endast manuell köning av byggen ska tillåtas. Godkända värden: false, true.
Obligatoriska. |
queue-on-source-update-only |
Att köa byggen endast när källan uppdateras. Godkända värden: false, true.
Obligatoriska. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
Obligatoriska. |
valid-duration |
Varaktighet för principens giltighet i minuter.
valid-duration Obs! Måste vara mellan noll och ett år och måste vara noll när --queue-on-source-update-only är false.
Obligatoriska. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Sökvägen som policyn ska tillämpas på. Stöder absoluta sökvägar, jokertecken och flera sökvägar avgränsade med ;. Exempel: /WebApp/Models/Data.cs, /WebApp/*, eller *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Exempel
I följande exempel anges en nödvändig byggprincip för pull-begäranden i grenen main av Fabrikam-lagringsplatsen. Policyn kräver en lyckad build av builddefinition-ID 1, och tillåter endast manuell byggköning. I det här exemplet används standardkonfigurationen 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
Uppdatera en byggverifieringsprincip
Använd az repos policy build update för att uppdatera en byggverifieringsprincip.
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]
Parameters
| Parameter |
Beskrivning |
id, policy-id |
ID för policyn.
Obligatoriska. |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
build-definition-id |
Byggdefinitions-ID. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
display-name |
Visningsnamn för den här byggpolicyn för att identifiera policyn. Exempel: Manual queue policy. |
enabled |
Aktivera policyn. Godkända värden: false, true. |
manual-queue-only |
Huruvida endast manuell köning av byggen ska tillåtas. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Sökvägar som policyn tillämpas på. Stöder absoluta sökvägar, jokertecken och flera sökvägar avgränsade med ;. Exempel: /WebApp/Models/Data.cs, /WebApp/*, eller *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
queue-on-source-update-only |
Att köa byggen endast när källan uppdateras. Godkända värden: false, true. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
valid-duration |
Varaktighet för principens giltighet i minuter. |
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Statuskontroller
Externa tjänster kan använda PR-status-API:et för att publicera detaljerad status till dina pr-flöden. Med grenprincipen för ytterligare tjänster kan dessa externa tjänster delta i PR-arbetsflödet och upprätta principkrav.
Anvisningar om hur du konfigurerar den här principen finns i Konfigurera en grenprincip för en extern tjänst.
Inkludera kodgranskare automatiskt
Du kan automatiskt lägga till granskare till pull-begäranden som ändrar filer i specifika kataloger och filer, eller till alla pull-begäranden på en lagringsplats.
+ Välj knappen bredvid Automatiskt inkluderade granskare.
Fyll i sidan Lägg till ny granskarpolicy.
Lägg till personer och grupper i Granskare.
Välj Valfritt om du vill lägga till granskare automatiskt, men inte kräva deras godkännande för att slutföra pull-begäran.
Eller välj Obligatoriskt om pull-begäranden inte kan slutföras förrän:
- Varje individ som läggs till som granskare godkänner ändringarna.
- Minst en person i varje grupp som läggs till som granskare godkänner ändringarna.
- Om endast en grupp krävs godkänner det minsta antalet medlemmar som du anger ändringarna.
Ange de filer och mappar som kräver automatiskt inkluderade granskare. Lämna fältet tomt för att kräva granskare för alla pull-förfrågningar i grenen.
Välj Tillåt användare att godkänna sina egna ändringar om ägarna av pull-begäranden kan rösta för att godkänna sina egna pull-begäranden för att uppfylla denna policy.
Du kan ange ett aktivitetsflödesmeddelande som visas i pull-begäran.
Välj Spara.
Du kan använda Azure DevOps CLI az repos policy required-reviewer för att ange och uppdatera nödvändig granskningsprincip.
Skapa en obligatorisk recensionspolicy
Använd az repos policy required-reviewer create för att skapa en policy för obligatorisk granskare.
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]
Parameters
| Parameter |
Beskrivning |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true.
Obligatoriska. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main.
Obligatoriska. |
enabled |
Aktivera policyn. Godkända värden: false, true.
Obligatoriska. |
message |
Meddelande i aktivitetsflödet som visas i en pull request.
Obligatoriska. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345
Obligatoriska. |
required-reviewer-ids |
Granskarens e-postadresser avgränsade med ;. Exempel: john@contoso.com;alice@contoso.com. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Sökvägar som policyn tillämpas på. Stöder absoluta sökvägar, jokertecken och flera sökvägar avgränsade med ;. Exempel: /WebApp/Models/Data.cs, /WebApp/*, eller *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Exempel
I följande exempel anges Jamal Hartnett som en nödvändig granskare för pull-begäranden i grenen main av Fabrikam-lagringsplatsen. I det här exemplet används standardkonfigurationen 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
Uppdatera en obligatorisk godkännandeprincip
Använd az repos policy required-reviewer update för att uppdatera en krävda granskare-policy.
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]
Parameters
| Parameter |
Beskrivning |
id, policy-id |
ID för policyn.
Obligatoriska. |
blocking |
Blockera om principen inte uppfylls. Godkända värden: false, true. |
branch |
Grennamn för att filtrera resultat efter exakt matchning. Parametern --repository-id krävs för att använda grenfiltret. Exempel: --branch main. |
branch-match-type |
branch Använd argumentet för att tillämpa principen. Om värdet är exactgäller principen för en gren som exakt matchar --branch argumentet. Om värdet är prefixgäller principen för alla grenmappar som matchar prefixet --branch i argumentet. Godkända värden: exact, prefix. Standardvärde: exact. |
detect |
Identifiera organisationen automatiskt. Godkända värden: false, true. |
enabled |
Aktivera policyn. Godkända värden: false, true. |
message |
Meddelande i aktivitetsflödet som visas i en pull request. |
org |
Url för Azure DevOps-organisation. Du kan konfigurera standardorganisationen med hjälp av az devops configure -d organization=<ORG_URL>.
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. Exempel: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Sökvägar som policyn tillämpas på. Stöder absoluta sökvägar, jokertecken och flera sökvägar avgränsade med ;. Exempel: /WebApp/Models/Data.cs, /WebApp/*, eller *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs. |
project, p |
Projektets namn eller ID. Du kan konfigurera standardprojektet med .az devops configure -d project=<NAME_OR_ID>
Krävs om det inte har konfigurerats som standard eller hämtats via git-konfiguration. |
repository-id |
ID för lagringsplatsen för att filtrera resultat efter exakt matchning. Exempel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 |
required-reviewer-ids |
Granskarens e-postadresser avgränsade med ;. Exempel: john@contoso.com;alice@contoso.com. |
subscription |
Namn eller ID för prenumerationen. Du kan konfigurera standardprenumerationen med .az account set -s <NAME_OR_ID> |
Azure DevOps CLI-kommandon stöds inte för Azure DevOps Server.
Kringgå grenprinciper
I vissa fall kan du behöva kringgå principkraven. Med förbikopplingsbehörigheter kan du skicka ändringar till en gren direkt eller slutföra pull-begäranden som inte uppfyller grenprinciper. Du kan bevilja förbikopplingsbehörigheter till en användare eller grupp. Du kan kringgå behörigheter till ett helt projekt, en lagringsplats eller en enda gren.
Med två behörigheter kan användare kringgå grenprinciper på olika sätt:
Kringgå principer när du slutför pull-begäranden gäller endast för slutförande av pull-begäranden. Användare med den här behörigheten kan slutföra pull-begäranden även om pull-begäranden inte uppfyller principerna.
Kringgå principer vid push-överföring gäller push-överföring från lokala lagringsplatser och ändringar som görs på webben. Användare med den här behörigheten kan skicka ändringar direkt till skyddade grenar utan att uppfylla principkraven.
Mer information om hur du hanterar dessa behörigheter finns i Git-behörigheter.
Viktigt!
Var försiktig när du ger möjlighet att kringgå principer, särskilt på lagringsplats- och projektnivå. Principer är en hörnsten i säker och kompatibel källkodshantering.
Sökvägsfilter
Flera grenprinciper erbjuder sökvägsfilter. Om ett sökvägsfilter har angetts gäller principen endast för filer som matchar sökvägsfiltret. Om du lämnar det här fältet tomt innebär det att principen gäller för alla filer i grenen.
Du kan ange absoluta sökvägar där sökvägen måste börja med antingen / eller ett jokertecken.
Exempel:
/WebApp/Models/Data.cs
/WebApp/*
*/Models/Data.cs
*.cs
Du kan ange flera sökvägar med ; som avgränsare.
Exempel:
/WebApp/Models/Data.cs;/ClientApp/Models/Data.cs
Sökvägar som föregås av ! utesluts om de annars skulle inkluderas.
Exempel:
-
/WebApp/*;!/WebApp/Tests/* innehåller alla filer i /WebApp utom filer i /WebApp/Tests
-
!/WebApp/Tests/* anger inga filer, eftersom ingenting inkluderas först
Filterordningen är betydande. Filter tillämpas från vänster till höger.
Frågor och svar
Kan jag skicka ändringar direkt till grenar som har grenprinciper?
Du kan inte push-överföra ändringar direkt till grenar med nödvändiga grenprinciper om du inte har behörighet att kringgå grenprinciper. Ändringar i dessa grenar kan endast göras via pull-begäranden. Du kan skicka ändringar direkt till grenar som har valfria grenprinciper, om de inte har några nödvändiga grenprinciper.
Vad är automatisk komplettering?
Pull-förfrågningar till grenar med konfigurerade grenprinciper har knappen Ange automatisk slutförande. Välj det här alternativet om du vill slutföra pull-begäran automatiskt när den uppfyller alla principer. Automatisk komplettering är användbart när du inte förväntar dig några problem med dina ändringar.
När kontrolleras villkor för grenkriterier?
Grenprinciper omvärderas på servern när ägare av pull-requests överför ändringar och när granskare röstar. Om en regel utlöser en kompilering ställs kompileringsstatusen i vänteläge tills kompileringen har slutförts.
Kan jag använda XAML-versionsdefinitioner i grenprinciper?
Nej, du kan inte använda XAML-byggdefinitioner i grenprinciper.
Vilka jokertecken kan jag använda för obligatoriska kodgranskare?
Enstaka asterisk * kan matcha valfritt antal tecken, inklusive både snedstreck / och bakåtsnedstreck \. Frågetecken ? motsvarar ett enskilt tecken.
Exempel:
-
*.sql matchar alla filer med tillägget .sql .
-
/ConsoleApplication/* matchar alla filer i mappen som heter ConsoleApplication.
-
/.gitattributes motsvarar filen.gitattributes* i rotmappen i lagringsplatsen.
-
*/.gitignore matchar alla .gitignore-filer i repot.
Är kodgranskarens nödvändiga sökvägar skiftlägeskänsliga?
Nej, grenprinciper är inte skiftlägeskänsliga.
Du kan lägga till användarna i en grupp och sedan lägga till gruppen som granskare. Alla medlemmar i gruppen kan sedan godkänna för att uppfylla principkravet.
Jag har behörighet att kringgå principer. Varför ser jag fortfarande policyfel i pull request-statusen?
Konfigurerade principer utvärderas alltid för ändringar i pull-begäran. För användare som har behörighet att kringgå principer är den rapporterade principstatusen endast rådgivande. Om användaren med särskilda behörigheter godkänner, blockeras inte pull-förfrågans slutförande av ett misslyckandestatus.
Varför kan jag inte slutföra mina egna pull-begäranden när "Tillåt begäranden att godkänna sina egna ändringar har angetts"?
Både principen Kräv ett minsta antal granskare och principen Automatiskt inkluderade granskare har alternativ för att tillåta begärande att godkänna sina egna ändringar. I varje policy gäller inställningen endast för den policyn. Inställningen påverkar inte den andra principen.
Din pull-begäran har till exempel följande principer inställda:
-
Kräv minst ett antal granskare kräver minst en granskare.
-
Automatiskt inkluderade granskare kräver att du eller ett team du är i fungerar som en granskare.
-
Automatiskt inkluderade granskare har Tillåt begäranden att godkänna sina egna ändringar aktiverade.
-
Kräv ett minsta antal granskare har inte Tillåt begäranden att godkänna sina egna ändringar aktiverat.
I det här fallet uppfyller ditt godkännande automatiskt inkluderade granskare, men inte Kräv ett minsta antal granskare, så du kan inte slutföra pull-begäran.
Det kan också finnas andra policyer, till exempel Förhindra att den senaste push-användaren godkänner sina egna ändringar, som hindrar dig från att godkänna dina egna ändringar även om Tillåt begärande användare att godkänna sina egna ändringar är inställd.
Vad händer när sökvägen i sökvägsfilter inte börjar med / eller med ett jokertecken?
Sökvägen i sökvägsfilter som inte börjar med / eller med ett jokertecken har ingen effekt, och sökvägsfiltret utvärderas som om sökvägen inte angavs. En sådan sökväg kan inte matcha den absoluta filsökväg / som den börjar med.
Relaterade artiklar