【发布时间】:2021-11-23 07:12:12
【问题描述】:
我正在尝试使用管道中的az pipelines cli 更新变量组中的变量,我已经创建了一个 PAT 并将其传递给管道它工作正常。但我使用默认值,例如$(System.AccessToken),它能够从变量组中列出变量,但无法更新变量组。
它的说法
错误:您无权在 变量组。变量组管理员应将您添加到 管理员角色。 ##[错误]脚本失败,退出代码:1
经过一番搜索,我发现我需要在变量组中添加 Project Collection Build Service (name) 作为管理员,然后重试。我已经添加了,但我仍然遇到同样的错误。有什么建议吗?
我使用的是经典管道,这是从管道中导出的任务。
steps
- task: AzureCLI@2
displayName: 'Azure CLI '
inputs:
azureSubscription: 'sc'
scriptType: pscore
scriptLocation: inlineScript
inlineScript: |
az extension add --name azure-devops
az pipelines variable-group variable list --group-id id --org "orgname" --project "projectname"
az pipelines variable-group variable update --group-id id --name apim-service-name --value $(str_tf_module_containername) --org "orgname" --project "projectname"
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
【问题讨论】:
-
您在哪个身份下运行 az 命令?我可以看到您正在使用服务连接。您可以尝试添加
az account show并检查日志以查看帐户/身份是否具有变量组所需的管理员权限? -
将项目集合构建服务添加为 管理员 帮助我克服了错误。这仍然是个问题吗?
-
是的,我不能使用 system.accesstoken,我必须使用我自己的 PAT 来完成这项工作。
-
System.Accesstoken 是为服务身份“项目集合构建服务(帐户)”生成的 PAT 令牌。此令牌有效期为 48 小时。
-
@threeleggedrabbit 请在下面发布对您有用的答案,以便对社区中的其他人也有帮助..
标签: azure azure-devops azure-pipelines azure-cli