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:
parent
c0769b8e33
commit
ea57783e05
@ -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 }}
|
||||
|
||||
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user