แฉแแแ แแแแ แซแแแแแ แแแแแฎแแแแแก Windows-แแกแแแแก แแ แกแฎแแแแ แแแแแแแแ แแแแก แจแแกแแแแจแแแแ แแแกแขแ แฃแแแแขแแก, Azure DevOps-แแก แจแแกแแฎแแ. แแแฏแแ แแ, แ แแแแแ แแแแ แ แแแขแแแฏแ แแแ แแแแก แชแแแแแแแแ, แแแแแแฌแงแแแขแ แแแแแ แแแแแชแแแแแแ แแ แ แกแขแแขแแแจแ แแแแแขแแแ.
แแแฌแงแแแฃแแ แแฅแแแแ, แ แแ แแแ แแฅแแ แแแแกแฎแแแแแแฃแแ แกแแแขแแฅแกแ แแแแแแฃแแ แแฆแกแ แฃแแแแแก แแแ แแแแกแแแแก, แแแแแแแ แแแฃแแ แแแแกแแแแแแก แแ แแ แแขแแแแแแ แแแแ แแแ แชแแแแแแแแก แแแแแชแแแแก แกแขแแแแแ แขแฃแแ แจแแกแแซแแแแแแแแก แแ แแ แกแแแแแแ.
แแ แแแแแแแแแ แแแแฅแแแก, แ แแ แซแแ แแแแแ แแแแแแแแแแ แแฅแแแแ Release Pipelines-แแ, แ แแแแแ YAML แฏแแ แแ แแแฃแฆแฌแแแแ แแฅ แแ แแญแแ แแแแ แแ แแแแแ แแขแแแแก แแ แแ แแแแแ แแ แขแแคแแฅแขแแก แคแฃแแฅแชแแแแแ แแแ. แ แแแแ แช แฉแแแก, แแก แฎแแแแแกแแฌแแแแแ แแแฎแแ แฉแแแฃแแแแ แแ แแแแกแแแแแแแจแ, แ แแช แแ แแฅแขแแแฃแแแ แฃแขแแแแแแ แแแ แคแฃแแฅแชแแแแแแฃแ แแแแ. Pipelines YAML-แจแ แฉแแแ แแแแแแแขแแ แแชแแ แ แแ แแคแแแฃแแ แแแกแขแ แฃแแแแขแแแแก แแแแแจแแแแ แขแแฅแกแขแแก แฌแแ แแแแแแแแก แแแ แแแแขแ แแแแ, แ แแแแแแ แแแงแแแแแแช แจแแกแแซแแแแแแแ. แแก แซแแแแแ แแแกแแฎแแ แฎแแแแแแ; แแฅแแแ แแ แแญแแ แแแแแ แแแแฃแแแแขแแชแแแก แแแแแ แแแแแแฃแแ แแแแฃแแแกแแแแก. แแแแ แแ แแแแก แจแแแแแ แกแขแแขแแแจแ แแฆแแฌแแ , แแแแ แแ แแฎแแ แแฅ แแ แแก แแแแแ แแแแแแชแแแก แกแฃแ แแแ.
แจแแแแฎแแ แแ แแแแแงแแแแแ
แแแแแฌแงแแ แแแแ, แ แแ แกแแกแขแแแแจแ แแแแฅแแก แแแแฃแแแกแฎแแแแ แชแแแแแแแ. แแกแแแ แแฌแงแแแ, แแแแ แฌแแ แแแจแแแแแแ แแแแแแแแแแ แ, แกแแขแงแแแแแ Release, System แแ แ.แจ. แกแ แฃแแ แกแแ (แ แแแแ แช แแ แแแแแ, แแ แ), แฎแแแแแกแแฌแแแแแแ แแฅ
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 แกแแแแแแ แแแแฅแแแแแแ แแแแชแแแแก แแแแแงแแแแแแ, แแฅแแแ แฃแแแ แแแแแกแชแแ แแก แแ แแฃแแแแขแแก แกแแจแฃแแแแแแ แกแแ แแแขแจแ.
แแแแแ แแแแแแแแ แแ แแ แชแแแแแแ แแฅแแแแก แชแแแแแแแแ; แแฅ แแฅแแแ แฃแแแ แฎแแ แ แแแกแฃแฎแแกแแแแแแแ แกแแแขแแฅแกแแ. แชแแแแแแแ แจแแแซแแแแ แแแงแแแแแก แแแแแแแแ แแแแ แแแแแแฃแ แแแแชแแแแจแ.
แแ แแแแแแแฃแ แแ แชแแแแ แแแฆแแแแแจแ แแ แจแแแแแ แแแแแแแจแแ แแ แแกแแแ แแแฆแแแแแแแ. แซแแแแแ แแแแคแแ แขแฃแแแ.
แแแแฃแกแแ, แแฃ แชแแแแแแแ แซแแแแแ แกแแแแฃแแแแ, แแแแ แจแแแแฎแแ แจแแกแแซแแแแแแแ 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) )
แฉแแแ แแแงแแแแแ แชแแแแแแก แชแแ แแแ แแแแจแแแแแแแแก, แ แแแแแก แแแแแขแแแ แแแแแแ, แแแงแแแแแ Scope - Release
แแแแแแแแแ, แฉแแแ แแฅแแแแ แจแแแแฎแแแแแแ แแแแจแแแแแแแแก แแแแแ แแขแแ แก. แงแฃแ แแแฆแแแ แแแแฅแชแแแ แแ แแขแแแแก แจแแแแแ แชแแแแแแก แแแแแชแฎแแแแแแก แกแแแขแแฅแกแก; แแก แคแฃแแฅแชแแ แแแแแแ แแ.
แจแแแแแ แแขแแแแ แฉแแแ แแแแแแชแแแ แชแแแแแก แกแแ แแแขแก, แแแแฎ, แแแแฎ, แแก แแแ แแแแแ แจแแฃแซแแแแแแแ, แแก แฃแแแ แแงแแก แแ แแฃแแแแขแแก แกแแจแฃแแแแแแ.
แกแแ แแแขแ แกแแแแแแ แแก แฅแแแจ
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
แแ
Bash
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-แจแ แฉแแกแแ แแแแแ. แจแแแแแ แแขแแแแ, แกแแกแขแแแแก แชแแแแแแก แกแแแขแแฅแกแแก แแแแแงแแแแแแ, แฉแแแ แจแแแแแซแแแ แจแแแฎแแแแ แแแก.
แแแแแแแแ แกแแแแแแ แแแ แขแแแแ, แแแแ แแ แคแฃแแฅแชแแแแแแแแ แแแแฎแกแแแก แแแ แ แจแแกแแซแแแแแแแแแก, แแแ แแ แฉแแแ แฌแแแแกแ
แจแแแแแ แกแขแแขแแแจแ, แกแแญแแ แแแแแก แจแแแแฎแแแแแจแ, แแแกแแฃแแ แแ YAML แแแแกแแแแแแแแ, แแแแ แแ แแก แแฅ แกแแแแแแ แแแแ แ แกแแแแขแแ แแกแ แกแแแฎแแแ.
แฌแงแแ แ: www.habr.com