通过 REST API 将秘密变量传递到 Azure DevOps 发布管道时出错

问题描述 投票:0回答:1

我正在使用 REST API 在 Azure DevOps 中触发发布管道。

https://learn.microsoft.com/en-us/rest/api/azure/devops/release/releases/create?view=azure-devops-rest-7.1&tabs=HTTP

https://learn.microsoft.com/en-us/rest/api/azure/devops/release/releases/create?view=azure-devops-rest-7.1&tabs=HTTP#configurationvariablevalue

我正在尝试通过将“isSecret”与请求正文中的“value”一起传递给 true 来将变量作为秘密传递。但是在发布管道被触发之前我得到了以下错误。

错误代码:400 - 错误请求

错误消息:创建部署时无法更改变量的“秘密”属性。验证在“阶段名称”范围内为变量“变量名称”提供的值,然后重试。

关于如何解决此错误的任何帮助?

azure rest azure-devops azure-devops-rest-api
1个回答
0
投票

我尝试在我的环境中重现它并得到以下结果。

确保您已将 Azure 发布管道变量中的该变量声明为机密,并在发布时启用可设置,如下所示

现在在 rest api 主体中定义变量,如下所示。

{
    "definitionId": 1,
    "description": "New release triggered via API",
    "isDraft": false,
    "reason": "none",
    "manualEnvironments": null,
     .
     .
     . 
    "variables": {
        "variable1": {
            "value": "testsecretvalue",
            "isSecret": true
    }
  }

进行上述更改后,当您发送 api 请求时,下面是输出。

© www.soinside.com 2019 - 2024. All rights reserved.