F400813: 用户 '' 无权访问此资源

F400813: The user '' is not authorized to access this resource

我正在尝试创建一个发布管道,该管道将使用 Azure CLI 更新变量组中管道-> 库中定义的变量。

我可以使用从我的用户帐户生成的 PAT(保存在 $PipelineAccessToken 中)直接从我的计算机更新变量。

这是代理在发布管道期间执行的脚本:

$PipelineAccessToken | az devops login

az pipelines variable-group variable update 
  --org "https://dev.azure.com/[myOrganization]" 
  --project [myProject] 
  --group-id [groupId] 
  --name [variableName] 
  --value [newValue]

Azure 代理向我抛出此错误

TF400813: The user '' is not authorized to access this resource.

我做错了什么?

首先,尝试使用组织 URL

进行 az devops 登录
  $pat | az devops login --organization https://dev.azure.com/contoso/

其次,尝试设置环境变量

#set environment variable for current process
$env:AZURE_DEVOPS_EXT_PAT = 'xxxxxxxxxx

参考这个documentation

我发现解决方案如下:

由于 PipelineAccessToken 是管道变量,因此应将其括在括号中。

此外,由于我在该变量中保留了一个 PAT,因此我必须将其用引号引起来,以便将其作为字符串传输到 az devops login.

最后的解决方案是这样的:

"$(PipelineAccessToken)" | az devops login