执行 Azure DevOps API 构建租用调用需要什么权限

What permissions are required to perform Azure DevOps API calls for leases of builds

所以我想找出一种方法可以通过 AzureDevOps API 删除特定构建的租约。我的 PAT 具有 read/execute 构建权限和 read/write 测试管理权限。我还尝试了各种其他权限,但没有任何效果。下面是我正在尝试使用的脚本。

$token = "{PAT}"
$url="https://{instance}/{collection}/{project}/_apis/build/retention/leases/{lease Id}?api-version=6.0-preview.1"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))

$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Get -ContentType application/json

当我尝试获取或删除构建时,这工作正常(当然有不同的 URL)。但是当我试图获得租约时,我总是会收到 401 错误。我查看了整个 API 文档,但找不到任何地方具体说明 PAT 需要什么权限才能获得访问权限。租约需要哪些特定权限?还是我只需要以不同的方式格式化我的 header?

感谢您的帮助,如果我可以提供任何其他信息,请告诉我。

查看此文档 Leases - Delete:

DELETE https://dev.azure.com/{organization}/{project}/_apis/build/retention/leases?ids={ids}&api-version=6.1-preview.1

PAT 范围是:vso.build_execute

顺便说一句,我尝试将文档版本切换到 Azure DevOps Server 2019,但我收到消息:The requested page is not available for Azure DevOps Server 2019

您可以尝试通过 F12 捕获 API,然后在“网络”选项卡中查看它。

更新1

感谢安德鲁分享

我们可以投票或关注此 ticket 以获取最新消息。

更新2

如果我们创建具有完全访问权限的 PAT 令牌,我们可以获取和删除租约,请查看下图

得到

删除