From b15ec7073575e75f47ee512fecb354a336bd388c Mon Sep 17 00:00:00 2001 From: Ray Chen Date: Fri, 19 Jun 2026 11:33:40 -0700 Subject: [PATCH] Use templateParameters to set SkipPrValidation runtime parameter --- eng/common/scripts/Invoke-DevOpsAPI.ps1 | 8 +++++++- eng/common/scripts/Queue-Pipeline.ps1 | 23 +++++++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/eng/common/scripts/Invoke-DevOpsAPI.ps1 b/eng/common/scripts/Invoke-DevOpsAPI.ps1 index dc525ce7b106..8e85fa1ef9bf 100644 --- a/eng/common/scripts/Invoke-DevOpsAPI.ps1 +++ b/eng/common/scripts/Invoke-DevOpsAPI.ps1 @@ -51,7 +51,9 @@ function Start-DevOpsBuild { $Base64EncodedToken=$null, $BearerToken=$null, [Parameter(Mandatory = $false)] - [string]$BuildParametersJson + [string]$BuildParametersJson, + [Parameter(Mandatory = $false)] + [string]$TemplateParametersJson ) $uri = "$DevOpsAPIBaseURI" -F $Organization, $Project , "build" , "builds", "" @@ -62,6 +64,10 @@ function Start-DevOpsBuild { parameters = $BuildParametersJson } + if (![string]::IsNullOrWhiteSpace($TemplateParametersJson)) { + $parameters["templateParameters"] = ($TemplateParametersJson | ConvertFrom-Json) + } + $headers = (Get-DevOpsApiHeaders -Base64EncodedToken $Base64EncodedToken -BearerToken $BearerToken) return Invoke-RestMethod ` diff --git a/eng/common/scripts/Queue-Pipeline.ps1 b/eng/common/scripts/Queue-Pipeline.ps1 index e100300edc8c..93f5e00b87f0 100644 --- a/eng/common/scripts/Queue-Pipeline.ps1 +++ b/eng/common/scripts/Queue-Pipeline.ps1 @@ -38,6 +38,21 @@ Of the format: } ``` +.PARAMETER TemplateParametersJson +YAML runtime template parameters to provide to the pipeline execution. Unlike +BuildParametersJson (which sets pipeline variables that must be marked settable +at queue time), these override values declared in the pipeline's `parameters:` +block. + +Of the format: + +```json +{ + "parameter1": "value1", + "parameter2": "value2" +} +``` + #> [CmdletBinding(SupportsShouldProcess = $true)] @@ -64,7 +79,10 @@ param( [string]$BearerToken=$null, [Parameter(Mandatory = $false)] - [string]$BuildParametersJson + [string]$BuildParametersJson, + + [Parameter(Mandatory = $false)] + [string]$TemplateParametersJson ) . (Join-Path $PSScriptRoot common.ps1) @@ -105,7 +123,8 @@ try { -DefinitionId $DefinitionId ` -Base64EncodedToken $Base64EncodedToken ` -BearerToken $BearerToken ` - -BuildParametersJson $BuildParametersJson + -BuildParametersJson $BuildParametersJson ` + -TemplateParametersJson $TemplateParametersJson } catch { LogError "Start-DevOpsBuild failed with exception:`n$_"