Skip to content

Commit c1aa2bb

Browse files
Allow test PRs in SubmitPullRequest.ps1 script, updates to Invoke-GitHubAPI (Azure#16589)
update Repos format Co-authored-by: Chidozie Ononiwu <chononiw@microsoft.com>
1 parent eed5de7 commit c1aa2bb

File tree

4 files changed

+26
-8
lines changed

4 files changed

+26
-8
lines changed

eng/common/pipelines/templates/steps/create-pull-request.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ parameters:
1919
# Multiple labels seperated by comma, e.g. "bug, APIView"
2020
PRLabels: ''
2121
SkipCheckingForChanges: false
22+
CloseAfterOpenForTesting: false
2223

2324
steps:
2425

@@ -63,7 +64,7 @@ steps:
6364
-CommitMsg "${{ parameters.CommitMsg }}"
6465
-GitUrl "https://$(azuresdk-github-pat)@github.com/${{ parameters.PROwner }}/$(RepoNameWithoutOwner).git"
6566
-PushArgs "${{ parameters.PushArgs }}"
66-
-SkipCommit $${{parameters.SkipCheckingForChanges}}
67+
-SkipCommit $${{ parameters.SkipCheckingForChanges }}
6768
6869
- task: PowerShell@2
6970
displayName: Create pull request
@@ -85,3 +86,4 @@ steps:
8586
-UserReviewers "${{ parameters.GHReviewersVariable }}"
8687
-TeamReviewers "${{ parameters.GHTeamReviewersVariable }}"
8788
-Assignees "${{ parameters.GHAssignessVariable }}"
89+
-CloseAfterOpenForTesting $${{ parameters.CloseAfterOpenForTesting }}

eng/common/pipelines/templates/steps/docs-metadata-release.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ steps:
8383
GHReviewersVariable: ${{ parameters.GHReviewersVariable }}
8484
GHTeamReviewersVariable: ${{ parameters.GHTeamReviewersVariable }}
8585
PRLabels: ${{ parameters.PRLabels }}
86+
CloseAfterOpenForTesting: $(TestPipeline)
8687

8788
- ${{if ne( parameters['OnboardingBranch'], '')}}:
8889
- pwsh: |
@@ -122,4 +123,5 @@ steps:
122123
WorkingDirectory: ${{ parameters.WorkingDirectory }}/repo
123124
ScriptDirectory: ${{ parameters.WorkingDirectory }}/${{ parameters.ScriptDirectory }}
124125
GHReviewersVariable: ${{ parameters.GHReviewersVariable }}
125-
GHTeamReviewersVariable: ${{ parameters.GHTeamReviewersVariable }}
126+
GHTeamReviewersVariable: ${{ parameters.GHTeamReviewersVariable }}
127+
CloseAfterOpenForTesting: $(TestPipeline)

eng/common/scripts/Invoke-GitHubAPI.ps1

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ function Invoke-GitHubAPIPost {
3333
return $resp
3434
}
3535
else {
36-
throw "Did not fire request because of empty body."
36+
$warning = "{0} with Uri [ $apiURI ] did not fire request because of empty body." -f (Get-PSCallStack)[1].FunctionName
37+
LogWarning $warning
38+
exit 0
3739
}
3840
}
3941
catch {
@@ -65,7 +67,9 @@ function Invoke-GitHubAPIPatch {
6567
return $resp
6668
}
6769
else {
68-
throw "Did not fire request because of empty body."
70+
$warning = "{0} with Uri [ $apiURI ] did not fire request because of empty body." -f (Get-PSCallStack)[1].FunctionName
71+
LogWarning $warning
72+
exit 0
6973
}
7074
}
7175
catch {

eng/common/scripts/Submit-PullRequest.ps1

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ param(
5454

5555
[string]$TeamReviewers,
5656

57-
[string]$Assignees
57+
[string]$Assignees,
58+
59+
[boolean]$CloseAfterOpenForTesting=$false
5860
)
5961

6062
. "${PSScriptRoot}\common.ps1"
@@ -87,11 +89,19 @@ else {
8789
# setting variable to reference the pull request by number
8890
Write-Host "##vso[task.setvariable variable=Submitted.PullRequest.Number]$($resp.number)"
8991

90-
Update-GitHubIssue -RepoOwner $RepoOwner -RepoName $RepoName -IssueNumber $resp.number `
91-
-Labels $PRLabels -Assignees $Assignees -AuthToken $AuthToken
92-
9392
Add-GitHubPullRequestReviewers -RepoOwner $RepoOwner -RepoName $RepoName -PrNumber $resp.number `
9493
-Users $UserReviewers -Teams $TeamReviewers -AuthToken $AuthToken
94+
95+
if ($CloseAfterOpenForTesting) {
96+
$prState = "closed"
97+
LogDebug "Updating https://github.com/$RepoOwner/$RepoName/pull/$($resp.number) state to closed because this was only testing."
98+
}
99+
else {
100+
$prState = "open"
101+
}
102+
103+
Update-GitHubIssue -RepoOwner $RepoOwner -RepoName $RepoName -IssueNumber $resp.number `
104+
-State $prState -Labels $PRLabels -Assignees $Assignees -AuthToken $AuthToken
95105
}
96106
catch {
97107
LogError "Call to GitHub API failed with exception:`n$_"

0 commit comments

Comments
 (0)