【问题标题】:Azure DevOps: PATCH REST Call in Release Pipeline returns (403) ForbiddenAzure DevOps:发布管道中的 PATCH REST 调用返回 (403) 禁止
【发布时间】:2019-08-04 06:36:58
【问题描述】:

上下文

我使用 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 调用时返回错误

(403) 禁止

那么问题是如何启用 OAuth 令牌来进行此类 REST 调用?

【问题讨论】:

    标签: powershell oauth-2.0 azure-devops authorization azure-devops-rest-api


    【解决方案1】:

    问题是与 OAuth 令牌相关的权限默认情况下不足以进行 PATCH 调用。

    要授予必要的权限,请将 Project Collection Build Service (xxx) 用户添加到 Project Administrators 组:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 2021-01-03
      • 1970-01-01
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多