powershell - Azure DevOps:发布管道中的 PATCH REST 调用返回 (403) 禁止
问题描述
语境
我使用带有 Azure PowerShell 任务(任务版本 4.* 预览版)的 PowerShell 脚本来触发某个发布管道的最新版本。通过检索最后一个版本的 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 令牌以在管道中可用:
$env:SYSTEM_ACCESSTOKEN
并通过PowerShell 脚本检索令牌。
问题
GET 请求工作得很好,但是在执行 PATCH 调用时它返回错误
(403) 禁止
那么问题是如何启用 OAuth 令牌来进行此类 REST 调用?
解决方案
推荐阅读
- objective-c - 检查所有相关的 Xcode 设置后,我的可执行文件仍然显示“已通过优化编译”。有什么建议吗?
- amazon-web-services - 将 AWS cli 命令与 xargs 结合使用不起作用
- javascript - express PUT 请求超时
- php - 一个苗条的应用程序可以存在于其他应用程序(使用其他框架)已经在工作的网络服务器中吗?
- python - Flask_User 和 Blueprint - 如何构建应用程序?
- java - 发送电子邮件后如何将用户发送到另一个活动
- linux - 即使在授予完全权限后也无法执行文件(在 linux 中)
- electron - 如何在 Windows 10 中添加上一个、播放/停止、下一个最小化
- networking - 为什么卷积层上的滤波器大小总是奇数?
- angular-reactive-forms - Angular11 NgbModal 通过脚本添加或删除模态窗口类