使用OAuth令牌删除VSTS版本

时间:2016-04-12 06:57:37

标签: powershell azure-devops tfsbuild azure-pipelines azure-devops-rest-api

在构建过程中,有新的可能性让OAuth令牌访问VSTS API,我尝试编写一个删除某些构建的脚本。

阅读构建工作正常:

$headers = @{  Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"  }
$baseUrl = "{0}{1}" -f $env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI, $env:SYSTEM_TEAMPROJECTID
$buildsUrl = [string]::Format("{0}/_apis/build/builds?api-version=2.0", $baseUrl)
$response = Invoke-WebRequest -Uri $buildsUrl -Headers $headers

但在尝试删除构建时,我收到 403 Forbidden 错误:

$deleteUrl = [string]::Format("{0}/_apis/build/builds/{1}?api-version=2.0", $baseUrl, $id)
$response = Invoke-WebRequest -Uri $url -Headers $headers -Method Delete

使用VSTS为构建提供的OAuth令牌是否无法删除,还是需要以不同方式调用删除请求?

1 个答案:

答案 0 :(得分:4)

这看起来像是一个安全问题。默认情况下,构建服务帐户没有“删除构建”的权限。将权限设置为“允许”,然后重试。 enter image description here enter image description here