我正在尝试创建一个发布管道,该管道将使用Azure CLI更新变量组中Pipelines->库中定义的变量。
我可以使用从用户帐户生成的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 Agent抛出此错误
TF400813: The user '' is not authorized to access this resource.
我在做什么错了?
答案 0 :(得分:0)
首先,尝试使用组织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
答案 1 :(得分:0)
我发现解决方法如下:
由于PipelineAccessToken
是管道变量,因此应将其括在方括号中。
此外,由于我将PAT保留在该变量中,因此必须将其用引号引起来,以便将其作为字符串通过管道传递到az devops login
。
最后的解决方法是这样:
"$(PipelineAccessToken)" | az devops login