如何在构建过程之间或使用Powershell
设置/更改VSTS的用户组变量的值?那可能吗?
我实际上想设置几个变量并将它们访问到发布管道中。实现这一目标的最佳方法是什么?
答案 0 :(得分:1)
是的,可以更新/设置变量组的变量。并且将变量从构建持久化到释放是一个很好的选择。
您可以使用PowerShell任务按update variable gourps REST API更新变量组中的变量。和PowerShell脚本如下(假设更新/设置两个变量var1
和va2
):
$body = '
{
"variables": {
"var1": {
"value": "value1"
},
"var2": {
"value": "value2"
}
},
"type": "Vsts",
"name": "variablegroup name",
"description": "Updated variable group"
}
'
$bodyJson=$body | ConvertFrom-Json
Write-Output $bodyJson
$bodyString=$bodyJson | ConvertTo-Json -Depth 100
Write-Output $bodyString
$user="name"
$token="PAT"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $user,$token)))
$Uri = "https://account.visualstudio.com/DefaultCollection/{project}/_apis/distributedtask/variablegroups/{variableGroupId}?api-version=4.1-preview"
$buildresponse = Invoke-RestMethod -Method Put -UseDefaultCredentials -ContentType application/json -Uri $Uri -Body $bodyString -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)}