Sync eng/common directory with azure-sdk-tools for PR 1478 (#1978)

* actually pass the _content_ of the reviewers or teamreviewers variable within create-pull-request.yml, update logic in Set-GitHubParameter
This commit is contained in:
Azure SDK Bot 2021-03-25 18:25:26 -07:00 committed by GitHub
parent c0769b8e33
commit ea57783e05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 15 deletions

View File

@ -84,8 +84,8 @@ steps:
-PRTitle "${{ parameters.PRTitle }}"
-PRBody "${{ coalesce(parameters.PRBody, parameters.CommitMsg, parameters.PRTitle) }}"
-PRLabels "${{ parameters.PRLabels }}"
-UserReviewers "${{ parameters.GHReviewersVariable }}"
-TeamReviewers "${{ parameters.GHTeamReviewersVariable }}"
-Assignees "${{ parameters.GHAssignessVariable }}"
-UserReviewers "$(${{ parameters.GHReviewersVariable }})"
-TeamReviewers "$(${{ parameters.GHTeamReviewersVariable }})"
-Assignees "$(${{ parameters.GHAssignessVariable }})"
-CloseAfterOpenForTesting $${{ coalesce(parameters.CloseAfterOpenForTesting, 'false') }}
-OpenAsDraft $${{ parameters.OpenAsDraft }}

View File

@ -9,17 +9,26 @@ function Get-GitHubApiHeaders ($token) {
return $headers
}
function Set-GitHubAPIParameters ($members, $parameterName, $parameters, $allowEmptyMembers=$false) {
if ($null -ne $members) {
if ($members -is [array])
{
$parameters[$parameterName] = $members
}
else {
$memberAdditions = @($members.Split(",") | % { $_.Trim() } | ? { return $_ })
if (($memberAdditions.Count -gt 0) -or $allowEmptyMembers) {
$parameters[$parameterName] = $memberAdditions
function SplitParameterArray($members) {
if ($null -ne $members) {
if ($members -is [array])
{
return $members
}
else {
return (@($members.Split(",") | % { $_.Trim() } | ? { return $_ }))
}
}
}
function Set-GitHubAPIParameters ($members, $parameterName, $parameters, $allowEmptyMembers = $false) {
if ($null -ne $members) {
[array]$memberAdditions = SplitParameterArray -members $members
if ($null -eq $memberAdditions -and $allowEmptyMembers){ $memberAdditions = @() }
if ($memberAdditions.Count -gt 0 -or $allowEmptyMembers) {
$parameters[$parameterName] = $memberAdditions
}
}

View File

@ -108,12 +108,19 @@ else {
$resp | Write-Verbose
LogDebug "Pull request created https://github.com/$RepoOwner/$RepoName/pull/$($resp.number)"
$prOwnerUser = $resp.user.login
# setting variable to reference the pull request by number
Write-Host "##vso[task.setvariable variable=Submitted.PullRequest.Number]$($resp.number)"
if ($UserReviewers -or $TeamReviewers) {
# ensure that the user that was used to create the PR is not attempted to add as a reviewer
# we cast to an array to ensure that length-1 arrays actually stay as array values
$cleanedUsers = @(SplitParameterArray -members $UserReviewers) | ? { $_ -ne $prOwnerUser -and $null -ne $_ }
$cleanedTeamReviewers = @(SplitParameterArray -members $TeamReviewers) | ? { $_ -ne $prOwnerUser -and $null -ne $_ }
if ($cleanedUsers -or $cleanedTeamReviewers) {
Add-GitHubPullRequestReviewers -RepoOwner $RepoOwner -RepoName $RepoName -PrNumber $resp.number `
-Users $UserReviewers -Teams $TeamReviewers -AuthToken $AuthToken
-Users $cleanedUsers -Teams $cleanedTeamReviewers -AuthToken $AuthToken
}
if ($CloseAfterOpenForTesting) {