如何授予使用 System.AccessToken 调用 Azure DevOps REST API 的权限?

问题描述 投票:0回答:1

我想从 Azure DevOps 发布管道调用 Azure DevOps REST API 的测试套件 - Create 端点。

我通过 PowerShell 任务执行此操作,并且使用

System.AccessToken
。当我尝试创建测试套件时,我收到以下响应:

"message": "You do not have the appropriate permissions to manage test suites under this area path.",
"typeName": "Microsoft.TeamFoundation.TestManagement.WebApi.AccessDeniedException, Microsoft.TeamFoundation.TestManagement.WebApi",
"typeKey": "AccessDeniedException",

有人知道在 Azure DevOps 中需要授予哪些权限吗?

备注:

  • 是的,我已在代理作业中启用了 OAuth 令牌。
  • 是的,我已经授予了构建服务权限,但似乎没有帮助。似乎没有在任何地方管理测试套件的特定权限。
  • 是的,我尝试过其他端点(例如 GET)并且它们有效。我只是无法创建测试套件。
azure-devops azure-pipelines azure-powershell azure-devops-rest-api
1个回答
0
投票

当您尝试创建测试套件时,它实际上会将测试套件创建到指定或默认区域路径。

要在区域路径上创建工作项,如错误消息所示,用户/身份必须具有区域路径上的“

Manage test suites
”权限。

对于您的情况,如果您想使用

System.AccessToken
作为授权令牌在管道中调用 REST API“测试套件 - Create”,您可以设置如下权限:

  1. 进入“项目设置”>“项目配置”>“区域”,在要创建工作项的区域路径(或其父路径)的菜单项上,选择安全 打开区域路径的安全中心。

    enter image description here

  2. 在安全中心,搜索以下两个身份并确保将其权限“

    Manage test suites
    ”设置为“
    Allow
    ”。请参阅“作业访问令牌”。

    • Project Collection Build Service ({Organization Name})
    • {Project Name} Build Service ({Organization Name})

    enter image description here

完成上述步骤后,您可以使用

System.AccessToken
作为授权令牌在管道中调用REST API。


© www.soinside.com 2019 - 2024. All rights reserved.