Azure devops 没有从运行管道通过Azure DevOps REST API更新变量组的权限
简而言之,我试图在从构建管道执行PowerShell脚本时更新变量组(增加构建编号,但这一部分并不重要) 正如中所建议的,我使用的代码类似于:Azure devops 没有从运行管道通过Azure DevOps REST API更新变量组的权限,azure-devops,azure-pipelines,azure-devops-rest-api,Azure Devops,Azure Pipelines,Azure Devops Rest Api,简而言之,我试图在从构建管道执行PowerShell脚本时更新变量组(增加构建编号,但这一部分并不重要) 正如中所建议的,我使用的代码类似于: $url = "$($env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)$env:SYSTEM_TEAMPROJECTID/_apis/build-release/definitions/$($env:SYSTEM_DEFINITIONID)?api-version=2.0" Write-Host "URL: $url" $p
$url = "$($env:SYSTEM_TEAMFOUNDATIONCOLLECTIONURI)$env:SYSTEM_TEAMPROJECTID/_apis/build-release/definitions/$($env:SYSTEM_DEFINITIONID)?api-version=2.0"
Write-Host "URL: $url"
$pipeline = Invoke-RestMethod -Uri $url -Headers @{
Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN"
}
Write-Host "Pipeline = $($pipeline | ConvertTo-Json -Depth 1000)"
总的来说,除了一件事,一切都很好。收到以下错误消息时,我似乎没有某种权限更新此值:
您没有对变量执行此操作的权限
小组。变量组管理员应将您添加到
管理员角色
然而:
$env:SYSTEM\u ACCESSTOKEN
实际上应该属于从Azure内部调用的进程(管道执行进程),所以它也应该可以访问变量组。(在任何情况下,我都不知道当前正在运行的管道的标识是什么以及它的设置位置)Security
变量组部分),但RESTAPI更新仍然没有成功。
因此,关于设置当前正在执行的生成管道标识的权限的任何提示?OAuth访问令牌是使用“
项目集合生成服务(xxx)
”帐户创建的,而不是您的帐户
因此,您只需将“项目集合生成服务(xxx)
”帐户添加为变量组的管理员
角色