Azure DevOps:发布管道中的 PATCH REST 调用 returns (403) 禁止
Azure DevOps: PATCH REST Call in Release Pipeline returns (403) Forbidden
上下文
我将 PowerShell 脚本与 Azure PowerShell 任务(任务版本 4.* 预览)一起使用来触发特定发布管道的最新版本。通过
检索最后一个版本的 id 以及相关环境的 id
GET https://vsrm.dev.azure.com/$azureDevOpsOrganizationName/$azureDevOpsProjectName/_apis/release/deployments?queryOrder=descending&`$top=1&definitionId=$azureDevOpsReleasePipelineId&definitionEnvironmentId=$azureDevOpsReleaseEnvironmentId&api-version=5.0
我想通过
调用 PATCH REST 来触发相关的发布
PATCH https://vsrm.dev.azure.com/$azureDevOpsOrganizationName/$azureDevOpsProjectName/_apis/Release/releases/$lastDeploymentId/environments/$($lastDeploymentEnvironmentId)?api-version=5.0-preview.6
正文如下
$triggerMostRecentReleaseBody = @{
comment = 'some comment'
status = 2
scheduledDeploymentTime = $null
}
$triggerMostRecentReleaseBodyJSON = $triggerMostRecentReleaseBody | ConvertTo-Json
为了能够进行这些 REST 调用,我启用了 OAuth 令牌以便在管道中可用:
并通过 PowerShell 脚本中的 $env:SYSTEM_ACCESSTOKEN
检索令牌。
问题
GET 请求工作得很好但是在执行 PATCH 调用它时 returns 错误
(403) Forbidden
所以问题是如何启用 OAuth 令牌来进行此类 REST 调用?
问题是默认情况下与 OAuth 令牌相关的权限不足以进行 PATCH 调用。
要授予必要的权限,请将 Project Collection Build Service (xxx) 用户添加到 Project Administrators 组:
上下文
我将 PowerShell 脚本与 Azure PowerShell 任务(任务版本 4.* 预览)一起使用来触发特定发布管道的最新版本。通过
检索最后一个版本的 id 以及相关环境的 idGET https://vsrm.dev.azure.com/$azureDevOpsOrganizationName/$azureDevOpsProjectName/_apis/release/deployments?queryOrder=descending&`$top=1&definitionId=$azureDevOpsReleasePipelineId&definitionEnvironmentId=$azureDevOpsReleaseEnvironmentId&api-version=5.0
我想通过
调用 PATCH REST 来触发相关的发布PATCH https://vsrm.dev.azure.com/$azureDevOpsOrganizationName/$azureDevOpsProjectName/_apis/Release/releases/$lastDeploymentId/environments/$($lastDeploymentEnvironmentId)?api-version=5.0-preview.6
正文如下
$triggerMostRecentReleaseBody = @{
comment = 'some comment'
status = 2
scheduledDeploymentTime = $null
}
$triggerMostRecentReleaseBodyJSON = $triggerMostRecentReleaseBody | ConvertTo-Json
为了能够进行这些 REST 调用,我启用了 OAuth 令牌以便在管道中可用:
并通过 PowerShell 脚本中的 $env:SYSTEM_ACCESSTOKEN
检索令牌。
问题
GET 请求工作得很好但是在执行 PATCH 调用它时 returns 错误
(403) Forbidden
所以问题是如何启用 OAuth 令牌来进行此类 REST 调用?
问题是默认情况下与 OAuth 令牌相关的权限不足以进行 PATCH 调用。
要授予必要的权限,请将 Project Collection Build Service (xxx) 用户添加到 Project Administrators 组: