Azure / Azure/azure-cli-extensions

--required-reviewer-ids for az repos policy required-reviewer create command requires UPN not e-mail address

Open
#1,735 3 comments 0 reactions 0 assignees View on GitHub
customer-reported DevOps question Service Attention
Dominant language
Python
Stars
454
Forks
1.7k
Avg merge
2d 19h
Merged PRs (30d)
64

Description

- If the issue is to do with Azure CLI 2.0 in-particular, create an issue here at [Azure/azure-cli](https://github.com/Azure/azure-cli/issues)

### Extension name (the extension in question)
Azure DevOps

### Description of issue (in as much detail as possible)
When specifying required reviewers for the `az repos policy required-reviewer create` using the `--required-reviewer-ids` parameter the documentation specifies these should be email addresses when it should actually be UPNs.

The below set of code does not reliably work when the users UPN and Mail values are not the same.

```
$Readers = $((az ad group member list --group "ado-$ResourceName-reader" | ConvertFrom-Json).mail)

$Contributors = $((az ad group member list --group "ado-$ResourceName-contributor" | ConvertFrom-Json).mail)

$Admins = $((az ad group member list --group "ado-$ResourceName-repo-adm" | ConvertFrom-Json).mail)

$Reviewers = @($Readers) + @($Contributors) + @($Admins) | Sort-Object | Get-Unique

$AppliedPolicy = az repos policy required-reviewer create `
--blocking $false `
--branch "master" `
--enabled $true `
--message "Automatically added as reviewer for by policy for $($Repository.name) repo." `
--repository-id "$($Repository.id)" `
--branch-match-type "exact" `
--org $DevOpsOrganization `
--project $DevOpsProject `
--required-reviewer-ids $($Reviewers -join ";") | ConvertFrom-Json
```

Using the below set of code does work reliably for all users:

```
$Readers = $((az ad group member list --group "ado-$ResourceName-reader" | ConvertFrom-Json).userprincipalname)

$Contributors = $((az ad group member list --group "ado-$ResourceName-contributor" | ConvertFrom-Json).userprincipalname)

$Admins = $((az ad group member list --group "ado-$ResourceName-repo-adm" | ConvertFrom-Json).userprincipalname)

$Reviewers = @($Readers) + @($Contributors) + @($Admins) | Sort-Object | Get-Unique

$AppliedPolicy = az repos policy required-reviewer create `
--blocking $false `
--branch "master" `
--enabled $true `
--message "Automatically added as reviewer for by policy for $($Repository.name) repo." `
--repository-id "$($Repository.id)" `
--branch-match-type "exact" `
--org $DevOpsOrganization `
--project $DevOpsProject `
--required-reviewer-ids $($Reviewers -join ";") | ConvertFrom-Json
```
Can the documentation be updated to reflect this?

-----

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.