Azure DevOps - 无法使用 Azure DevOps API 和 Auth Token 创建 Var 组

Azure DevOps - Unable to Create Var Group using Azure DevOps API and Auth Token

要求:我们想在给定的项目中创建一个变量组(以及一些变量)。

  1. 选项1:我们能够成功创建一个新的可变组 当我们使用具有完全访问权限的 PAT 令牌通过 PostMan 创建请求时。
  2. 选项 2:我们的最终目标是在使用的 Web 应用程序中调用 ADO Rest API OAuth。当最终用户登录并拨打电话时(请查看输入 详情如下)我们收到“401 Un Authorized - The user is not authorized to access this resource.”错误。 Web 应用程序的应用程序具有变量组管理范围,如下所示。

故障排除:作为故障排除的一部分,对于在 Postman 中使用 PAT(具有完全访问权限)的 Option1,我们已将 PAT 的权限更新为只有 Create、Read 和如下所示管理变量组

现在,即使是 Option1 在使 PAT 具有自定义定义访问权限后也无法正常工作。

我们是不是漏掉了什么?

Post男详细:

URL: https://dev.azure.com/myorgname/_apis/distributedtask/variablegroups?api-version=6.0-preview.2

动词:Post

Headers:授权:基本

Body:

 {
"name": "This is ignored",
"description": "This is ignored",
"type": "Vsts",
"variables": {
    "BuildConfiguration": {
        "value": "Release"
    }
    
},
"variableGroupProjectReferences": [
    {
        "name": "VarGroup",
        "description": "The variable group to store the information about the variables using in the Pipeline",
        "projectReference": {
            "id": "#ProjectId#",
            "name": "#ProjectName#"
        }
    }
]

}

我也可以通过选项 1 重现您的问题,不仅 Read, create, & manage 用于 Variable Groups,甚至我通过 Custom defined select all the scopes,它仍然不起作用。

根据此文档 - https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/manage-pats-with-policies-for-administrators?view=azure-devops#restrict-creation-of-full-scoped-pats

Some of our public APIs are currently unassociated with a PAT scope, and can therefore only be used with “full-scoped” PATs. Because of this, restricting the creation of full-scoped PATs might block some workflows. We're working to identify and document the affected APIs and eventually associate them with the appropriate scope. For now, these workflows can be unblocked by using the allow list.

我相信这应该是这个问题的原因,可能有一些额外的权限来创建变量组。对于选项 2,可能有类似的原因。

所以在这种情况下,您可能需要暂时使用 Full access PAT,如文档中所述 We're working to identify and document the affected APIs and eventually associate them with the appropriate scope.