【发布时间】:2021-08-25 10:30:45
【问题描述】:
我有 azure DevOps 版本,我想在部署的一个阶段后删除版本变量。您能否提供一些有关如何执行此操作的指示?我知道如何使用 API 更新变量的值,但无法删除该变量。任何指针都非常感谢
【问题讨论】:
标签: azure-devops azure-pipelines azure-devops-rest-api
我有 azure DevOps 版本,我想在部署的一个阶段后删除版本变量。您能否提供一些有关如何执行此操作的指示?我知道如何使用 API 更新变量的值,但无法删除该变量。任何指针都非常感谢
【问题讨论】:
标签: azure-devops azure-pipelines azure-devops-rest-api
要在发布过程中删除发布管道变量,您可以使用Definitions - UpdateRest API。
这是 PowerShell 示例:
$url = "$($env:SYSTEM_TEAMFOUNDATIONSERVERURI)$env:SYSTEM_TEAMPROJECTID/_apis/Release/definitions/$($env:RELEASE_DEFINITIONID)?api-version=5.0-preview.3"
Write-Host "URL: $url"
$pipeline = Invoke-RestMethod -Uri $url -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
$pipeline.variables.PSObject.Properties.Remove('variablename')
####****************** update the modified object **************************
$json = @($pipeline) | ConvertTo-Json -Depth 99
$updatedef = Invoke-RestMethod -Uri $url -Method Put -Body $json -ContentType "application/json" -Headers @{Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"}
write-host "=========================================================="
Write-host "The value of Varialbe 'test' is deleted"
write-host "=========================================================="
以下代码用于删除变量。
$pipeline.variables.PSObject.Properties.Remove('variablename')
更多详细信息,您可以参考这张票:How to modify Azure DevOps release definition variable from a release task?
【讨论】: