Skip to content

Commit

Permalink
Add ability to leave SourceBranch empty when queueing a build (builds…
Browse files Browse the repository at this point in the history
… using the default branch) (Azure#15195)

Co-authored-by: Daniel Jurek <djurek@microsoft.com>
  • Loading branch information
2 people authored and vindicatesociety committed Sep 18, 2021
1 parent 2694037 commit f05bfb8
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 3 deletions.
1 change: 0 additions & 1 deletion eng/common/scripts/Invoke-DevOpsAPI.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ function Start-DevOpsBuild {
param (
$Organization="azure-sdk",
$Project="internal",
[Parameter(Mandatory = $true)]
$SourceBranch,
[Parameter(Mandatory = $true)]
$DefinitionId,
Expand Down
47 changes: 45 additions & 2 deletions eng/common/scripts/Queue-Pipeline.ps1
Original file line number Diff line number Diff line change
@@ -1,3 +1,45 @@
<#
.SYNOPSIS
Queues an Azure DevOps Pipeline run optionally canceling similar runs
.PARAMETER Organization
Azure DevOps organization name
.PARAMETER Project
Azure DevOps project name
.PARAMETER SourceBranch
Source branch use when executing the DevOps pipeline. Specifying an empty string
will result in queuing of the run with the default branch configured for the
pipeline.
.PARAMETER DefinitionId
Pipline definition ID
.PARAMETER CancelPreviousBuilds
Requires a value for SourceBranch. Cancel previous builds before queuing the new
build.
.PARAMETER VsoQueuedPipelines
Variable name to set in DevOps for the queued pipeline links
.PARAMETER Base64EncodedAuthToken
Auth token for Azure DevOps API
.PARAMETER BuildParametersJson
Additional build parameters to provide to the pipeline execution.
Of the format:
```json
{
"variable1": "value1",
"variable2": "value2"
}
```
#>

[CmdletBinding(SupportsShouldProcess = $true)]
param(
[Parameter(Mandatory = $true)]
Expand All @@ -6,7 +48,6 @@ param(
[Parameter(Mandatory = $true)]
[string]$Project,

[Parameter(Mandatory = $true)]
[string]$SourceBranch,

[Parameter(Mandatory = $true)]
Expand All @@ -26,7 +67,9 @@ param(

. (Join-Path $PSScriptRoot common.ps1)

if ($CancelPreviousBuilds)
# Skip if SourceBranch is empty because it we cannot generate a target branch
# name from an empty string.
if ($CancelPreviousBuilds -and $SourceBranch)
{
try {
$queuedBuilds = Get-DevOpsBuilds -BranchName "refs/heads/$SourceBranch" -Definitions $DefinitionId `
Expand Down

0 comments on commit f05bfb8

Please sign in to comment.