แแพแแแแแแแถแแแทแแทแแแแกแพแแแทแแแแแแแพแแขแแแธแงแแแแแแแแขแแแ แถแแแแแฝแแแแแแถแแแแถแแขแแทแแแแแแแแแแแ Windows แแทแแ แแแพแแแแ Azure DevOpsแ แแพแแแแ แแแแแถแแแแธแแแแผแแถแแฝแแขแแแแแแทแแแแถแ แแแแปแแแถแแแแแแแ แ แทแแแแ แแแแถแแแแแแทแแแแแแแแแแแแแปแแแ แแถแขแแแแแแแแแฝแแ
แ
แถแแแแแแพแแแธแแถแแแทแแแแแแถแแฝแแแแแถแแแถแแแแแแแแแแแแแแแแแแแแถแแแแแถแแแแแทแแถแแถแแแแแแทแแแแแทแแธแแฝแแแแแแแแแ
แแแแแแแแแแแแแแแแแถแแแแแแแแถแแแแแปแแแถแแแแแแแขแแแแแธแแแแถแแแแถแแแฝแแแแแแแแแแ
แแฝแแแแแ
แแแแปแแแนแแแแแพแแถแแแแแแปแแแแแงแแถแ แแแแแแแถแแแแแนแแแถแแแ
แแพ Release Pipelines แแธแแแแแ YAML แแทแแแถแแแแ
แแแแแธแแแแแ
แกแพแแแ แ แพแแแแแปแแแแแผแแแถแแแปแแแถแแแถแ
แแแพแแแแแถแแแแถแ แแทแแแแแแปแแปแแถแแแถแ
แแแพแแ แแถแ แถแแแแธแแผแ
แแถแแถแแแ
แแแแปแแแแแแแแแแแแถ แแแแแถแแแแพแแนแแแฝแแแถแแ
แแแแปแแแปแแแถแแ แแ
แแแแปแ Pipelines YAML แแพแแแถแแแแแแแแแแแแแถแแแแแฝแแแแแถแ แแแทแแแผแ
แแฝแแแ
แแถแแแแแแถแแขแแแแแแแถแแฝแแแนแแแแถแแแถแแแแแแแแแแขแถแ
แแแแแแแถแแ แแถแแถแแแแแฝแแแถแแ; แขแแแแแทแแ
แถแแแถแ
แแแแแแแถแแแฏแแแถแแแแแแถแแแแแผแแปแแแธแแฝแแแแแ แแแปแแแแแแแแปแแแนแแแแแแถแแแขแแแธแแฟแแแแแแ
แแแแปแแขแแแแแแแแแแถแแ แแแปแแแแแแแแแถแแแแแแแแ แแแแแบแแถแแผแแแถแแแแแถแแ
แแแแแแแแทแแแแแฝแแฏแแ

แแถแแแแแปแแแทแแแถแแแแแพแแแแถแแ
แ แผแแ แถแแแแแแพแแแถแแฝแแแนแแแถแแแทแแแแแแถแแพแแแถแแขแแแแแแแถแแแพแแแ แแแแปแแแแแแแแแแ แแฝแแแแ แถแแแแแแพแ แขแถแแแแแแแพแแแแแแแพแแแแแแแถ แแถแแฝแแแนแแแถแแแ แ แแแแแแถแ แแแแแแแแแแแ แแแแแธแแแแแแ (แแทแแแผแ แแแแแถแแแแแ แแ) แแถแแแ . แแแแบแแทแแแ แแทแแแถแแแขแแแแแแแถแแแถแแแแแแแแแแแแแแแผแแแถแแแแแ แถแแแแแงแแถแ แแแแแธแฏแแแถแแแถแแแแแแแ แขแแแแแผแ แแแแถแแถแแแแแถแแแธ แขแถแแแแแแแพแแแแแแแแแแแพแแ แ แแถแ
steps:
- bash: echo This script could use $SYSTEM_ACCESSTOKEN
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- powershell: Write-Host "This is a script that could use $env:SYSTEM_ACCESSTOKEN"
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)แแแแแทแแแพแขแแแแแแแแแขแแแแแ แแพแแแแถแแแแถแแแแแแทแ แแ แแถแแแแแผแแแถแแแแแแทแแแแแท แแถแแบ $(System.AccessToken)แ แแแแแทแแแพแขแแแแ แแแแแแพแแถแแ แแแแปแแแแแแแธแ powershell แแ แแพแแแแถแแแแถแแแผแ แแแแถ แแถแแนแ $env:SYSTEM_ACCESSTOKEN แแฝแ แ แพแแ แแแแแทแแแพแขแแแ แแแแแ แถแแแถแแ แ แแแแแแพแขแแแแแแแแ แแพแแแถแแแธแแแธแ แแแแถแแแฝแแ แแแฝแแแแแแแแพ PowerShell แแพแแถแแแทแ แแ แแแถแแแธแแแแแแ แขแแแแแแแผแแแแแแแถแแแแถแแถแแแแแขแถแแปแแแแแแแ แแแแแแธแแแแแแแแพ . แแถแแฝแแแนแ bash แแถแแถแแแแแแถแแแแ แขแแแแขแถแ แแแแแแถแแแแถแแ แแถแแแแแปแแแแแแแแพแขแถแแปแแแแแ แแทแแแถแแแแแแแแแแแ $SYSTEM_ACCESSTOKEN แ
แ แแแถแแแแผแ แแแแถแแทแแขแแปแแแแแ แแแแแขแแแแแแแถแแแแแแฝแแแแแแขแแแแแ แแ แแธแแแแขแแแแแแฝแแแปแแแแแผแแ แแแแแแถแแแแแแแแแแแแแฝแ แ แพแแ แขแแแแขแถแ แแแแผแแแถแแแแแแแแแแปแแแผแแแแแถแแแแแปแแแทแ แแ แแถแแแธแแฝแแแ

แฌแแถแแแแแ
แแถแแแ แถแแขแแแ แ แพแแแแแแถแแแแแแแแถแแแแฝแแแถแแธแ แถแแ แแถแแแถแแปแแแถแแแถแแแ

แแถแแแแถแแแแแแแถแแ แแแแแทแแแพแขแแแแแถแแแถแแแแแแถแแแแแแถแแ แแฝแแแถแขแถแ
แแแแผแแแถแแแแแแถแแปแแแแแปแแแแ Azure แแ
แแแแปแแแแแแแแแแแปแแแแแ แ
แแถ Azure Vault แขแแแแขแถแ
แแแแถแแ Vault แแ
แแแแแแแแแแปแแแแแแถแแแแ

แแถแแผแแ
แขแแแธแแแแแแแแถแแแบแ
แแแถแแแแถแแแแถแแฝแแแนแแขแแแแแ
แแแแปแแแแแแ แแฝแแแแแ
แแแขแถแ
แแแแผแแแถแแแแแแแแแแแแแแแแถแแแแถแแ
แแแแแแถแแแธแแฝแแแแทแแแถแแแปแแแถแแแแแแแแแแ แขแแแแขแถแ
แแพแแขแแแธแแแแขแแแแแแแปแแแแแแแแ
แแแแแแแแแแแแแแ
แแแแปแแแแแแแ แแแปแแถแแ
แถแแแแแแพแแแแแถแแแแถแ แแแปแแแแแแแแผแแ
แแ
แถแแแถแแฝแแแถแแถแแแฝแ
แ แพแแแ
แแแแปแแแแแแแแแแแแแแแ

แขแแแแแถแแแแแ
แแถแแแแแแถแแแธแแแถแแ แถแแแแแแพแแแ แแแแแแแแพแแ แแแแแฝแแแถแแแแแแแแฝแแ แแแฝแแแแแปแแแแแถแแแแถแแแฝแ แ แพแแแแแแแถแแแแถแแ แแแแแถแแแแแแ

แแพแแแทแแแแแผแแแถแแแแแแแฑแแแแผแแแปแแแถแแแแแแแแแแ แแแปแแแแแแแแแแแแพแแแทแแแแแแแแแถแแแแถแแแปแแแแแถแแแแ แ แพแแแแแแถแแแแแฝแแแธ Google แแแแแแแแแถแแแฝแแแแแผแแแถแแแแแพแแ แแผแแขแแแปแแแแแแแถแแแ
แถแแ Azure DevOps แแถแ API แแแแขแแปแแแแถแแฑแแแแพแแแแแพแ
แแแพแแแถแแขแแแธแแแแแถแแแแแ แถแแแ
แแแแปแแ
แแแปแ
แแแแแถแแแ
แแผแ แแแแ แแพแแแนแแแแแผแแแถแแแถแแ แ แแผแแแแแแแพแแแแธแแแแพแแ แแ แปแแแแแแแแถแแขแแแแแแ แแแแแพแแแนแแแแแพแแแแแแแถแแแแธแแแแปแแแแแแแ แขแถแแแแแแแถแโแแแแผแโแแถแโแแโแ แแโแแธโแขแแแโแแแทแแแแถแ แแแโแแผแ แแแแถโแแนแโแแถแแแโแแทแโแแถแโแแ โแแแแปแโแฏแแแถแ แแผแ โแแถแโแแทแแถแโแแถแโแแพแแ แขแแแแขแถแ แแแแแแแฝแแแถแแแแแแแฝแแฏแ แฌแแพแแแธแแแแแแ แแแแแแแผแแฑแแแแฝแแแ แแแแแทแแแพแแฝแแแแแทแแ แถแแ
$releaseurl = ('{0}{1}/_apis/release/releases/{2}?api-version=5.0' -f $($env:SYSTEM_TEAMFOUNDATIONSERVERURI), $($env:SYSTEM_TEAMPROJECTID), $($env:RELEASE_RELEASEID) )แแพแแแแแแแแแแแแแแแแแขแแแแแแแแพแแ แแแแแแแ แแแแแแแทแแถแแแถแ - แ แแแแแแถแ

แงแแถแ แแแ แแพแแแแแแพแแแแแแแ
แแแแแแแฝแแ
แแแฝแแ แแแ
แทแแแแแปแแแถแแแ
แแแแแแถแแแแแแแแแแแแแแแถแแแแแแถแแขแแแแแ
แแแแปแแแแแถแแแแถแแแแ แแปแแแถแแแแแแแแผแแแถแแแแแถแแ

แแ
แแแ แถแแแแแแถแแ แแพแแแแแแผแแขแแแแแ
แแแแแแธแ แแถแ/แ
แถแ แแถแ แแถแแทแแขแถแ
แแ
แแฝแ
แแแแแแแถแแแแ แแถแแแแผแแแแแแแแแถแแแขแถแแปแแแแแแแฝแแ

แแแแแแธแแแ
แแแแแ spoiler
PowerShell
#Script requires stageVar variable in release variables set to Release scope
param ( [string] $expVar )
#region variables
$ReleaseVariableName = 'StageVar'
$releaseurl = ('{0}{1}/_apis/release/releases/{2}?api-version=5.0' -f $($env:SYSTEM_TEAMFOUNDATIONSERVERURI), $($env:SYSTEM_TEAMPROJECTID), $($env:RELEASE_RELEASEID) )
#endregion
#region Get Release Definition
Write-Host "URL: $releaseurl"
$Release = Invoke-RestMethod -Uri $releaseurl -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
#endregion
#region Output current Release Pipeline
Write-Output ('Release Pipeline variables output: {0}' -f $($Release.variables | ConvertTo-Json -Depth 10))
#endregion
#region Update StageVar with new value
$release.variables.($ReleaseVariableName).value = "$expVar"
#endregion
#region update release pipeline
Write-Output ('Updating Release Definition')
$json = @($release) | ConvertTo-Json -Depth 99
Invoke-RestMethod -Uri $releaseurl -Method Put -Body $json -ContentType "application/json" -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN" }
#endregion
#region Get updated Release Definition
Write-Output ('Get updated Release Definition')
Write-Host "URL: $releaseurl"
$Release = Invoke-RestMethod -Uri $releaseurl -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
#endregion
#region Output Updated Release Pipeline
Write-Output ('Updated Release Pipeline variables output: {0}' -f $($Release.variables | ConvertTo-Json -Depth 10))
#endregionแฌ
แแผแ
INPUT_VAR=$1
RELEASE_VAR=$2
echo Test ID: ${INPUT_VAR}
RELEASE_URL="${SYSTEM_TEAMFOUNDATIONSERVERURI}${SYSTEM_TEAMPROJECTID}/_apis/release/releases/${RELEASE_RELEASEID}?api-version=5.0"
echo release url: $RELEASE_URL
RELEASE_JSON=$(curl -H "Authorization: Bearer $SYSTEM_ACCESSTOKEN" $RELEASE_URL)
OUTPUT=`jq ''.variables.${RELEASE_VAR}.value' = '"${INPUT_VAR}"'' <<< $RELEASE_JSON`
curl -H "Authorization: Bearer $SYSTEM_ACCESSTOKEN" -H "Content-Type: application/json" -X PUT -d "$OUTPUT" $RELEASE_URLแแแปแแแ แแแแแแธแแแแแแแพแแแแขแแแ myVar แแถแแถแแแแแ แผแ แ แพแแแแแพ API แแพแแแแธแแถแแแแแแแแแแขแแแแแแแแ แแแแปแ stageVar แ แแ แแแ แถแแแแแแถแแ แแแแแแแพแแถแแแแแแแแแแแแขแแแ แแพแแขแถแ แแพแแแถแแถแแ

แงแแถแ แแแโแแบโแแถแแแแโแแถแแ แแแปแแแแโแแปแแแถแโแแพแโแฑแแถแโแแแขโแแแแแถแแโแแพแ แแแแแแโแแธโแแปแโแแแแโแแแแปแ แแ
แแแแแแแแพแแขแถแ
แแแแแพแแแแถแแแธแแแทแแแแทแแแ
แแแแถแแแแถแแแแแผแแแแแถแแแแแพแแแแแ แแผแแขแแปแแแแแงแแถแแแแแแแแแแแฝแแ
แแแฝแแแถแแฝแแแถ แแทแแแฝแแ
แแแฝแแแแแแแแแแแแถแ แ แพแแแแแถแแแแถแแ
แปแแแแแแแแบแแแแแแถแแแถแ แฅแกแผแแแแ แแพแแแแแพแแแถแแแถแแแแแพแแแแแแแแแแแแแแแแแแแแแทแแแแแทแแแแแถแแแแแแแ
แแพแแแถแแแธแแแทแแแแทแแแแแธแ แแแแแทแ
แถแแแถแแถแแฝแแแแแแแแ
แแแแ แแ 10 แแถแแธแแถแแแแผแแ
แแแถแแแฝแแแถแแแ
แแ
แแแแปแแขแแแแแแแแแแถแแ แแแแแทแแแพแ
แถแแแถแ
แ แแแแปแแแนแแแทแแถแแขแแแธแแแแแ YAML แแถแแแถแแ
แแแแแแแแทแแแฝแแฑแแแ
แถแแแขแถแแแแแแแแถแ
แแแพแแแ
แแธแแแแ
แแแแแ: www.habr.com
