How to: Create repository and branch policies on Azure DevOps using Azure DevOps CLI
Learn how you use Azure DevOps CLI to create repository and respective branch policies
Continuing to explore Azure DevOps CLI, in this post I will show you how to create one repository and respective branch policies on Azure DevOps. To do this, I used again PowerShell to automate this procedure (see original GitHub repository here):
After execution, we will see this result:
In this script, I’m using az repos instructions and I’ll show bellow all commands that I’ve used:
- az repos create = Create a Git repository in a team project.
az repos create --name $RepoName --project $Project --organization $Organization | ConvertFrom-Json
- az repos policy approver-count create = Create an approver count policy.
az repos policy approver-count create --allow-downvotes false --blocking true --branch $branchName --creator-vote-counts false --enabled true --minimum-approver-count 1 --repository-id $repoId --reset-on-source-push false --project $Project --organization $Organization | ConvertFrom-Json
- az repos policy work-item-linking create = Create work item linking policy.
az repos policy work-item-linking create --blocking true --branch $branchName --enabled true --repository-id $repoId --project $Project --organization $Organization | ConvertFrom-Json
- az repos policy comment-required create = Create comment resolution required policy.
az repos policy comment-required create --blocking true --branch $branchName --enabled true --repository-id $repoId --project $Project --organization $Organization | ConvertFrom-Json
- az repos policy required-reviewer create = Create required reviewer policy.
az repos policy required-reviewer create --blocking true --branch $branchName --enabled true --repository-id $repoId --message "master" --required-reviewer-ids $Reviewers --project $Project --organization $Organization| ConvertFrom-Json
To check all policies created, just access branches on your respective repository and verified each policy (Branch policies option):
One important policy that we can use will valid any pull requests. After creating a repository, include the respective source code, you will be able to create a Build Definition. With this definition, use the command az repos policy build to create to link this build with the repository.
az repos policy build create --blocking true --branch $branchName --build-definition-id $BuildDefinitionId --display-name 'Build to Pull Requests' --enabled true --manual-queue-only false --queue-on-source-update-only false --repository-id $repoId --valid-duration 0 --project $Project --organization $Organization | ConvertFrom-Json