2
由于在构建过程中获得OAuth令牌访问VSTS API的新可能性,我试图编写一个删除特定构建的脚本。删除使用OAuth令牌构建的VSTS
阅读构建精细这样的作品:
$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禁止错误:
$deleteUrl = [string]::Format("{0}/_apis/build/builds/{1}?api-version=2.0", $baseUrl, $id)
$response = Invoke-WebRequest -Uri $url -Headers $headers -Method Delete
正在删除是不可能的与OAuth令牌由VSTS提供给构建还是需要以不同方式调用删除请求?
谢谢。埃迪。当试图更改构建定义上的Delete builds权限时,出现以下错误:VSS012010:Invalid User Id:1c8ede55-4f4d-40e6-8038-7b4cfc94db64。服务标识不被允许。(用于项目构建服务和项目收集构建服务)。关闭对话框并重新打开后,它似乎仍然保存,但在运行构建时没有区别。 –
@PascalBerger我只是用你的代码做了一个快速测试。当您设置删除构建权限时,我会收到相同的错误消息。但是构建可以在构建过程中成功删除。 –
@PascalBerger我为此帐户设置权限:Project Collection Build Service(MyAccountName)。 –