【问题标题】:Pass Artifact to Azure devops Rest api POST method将工件传递给 Azure devops Rest api POST 方法
【发布时间】:2020-04-03 17:44:55
【问题描述】:

我正在尝试使用 REST API 调用将工件从构建管道传递到发布管道。但我找不到传递工件源或工件名称的选项。我正在使用的 json 正文如下所示

{
  "definitionId": 1,
  "description": "test release",
  "artifacts": [
    {
    "alias": "Customer.CI",
    "instanceReference": {
     "id": "2",
     "name": null
     }
  }
 ],
 "isDraft": false,
 "reason": "none",
 "manualEnvironments": null
 }

其余的api调用如下

    $Uri=https://vsrm.dev.azure.com/Orgname/ProjName/_apis/release/releases?api-version=5.1
    Invoke-RestMethod -Method Post -UseDefaultCredentials -ContentType application/json -Uri $Uri -Body $bodyString -Headers $header

在发布管道的 POST API 调用期间如何在运行时传递不同的工件

【问题讨论】:

    标签: powershell azure-devops azure-pipelines azure-pipelines-release-pipeline


    【解决方案1】:

    根据您调用的其余api,您应该在创建发布时设置工件列表,然后工件应该可以在请求正文的"artifacts"中传递,就像您显示的json正文一样问题。

    "alias" 变量应该是您的构建定义名称"instanceReference" 中的"id""name" 变量指定工件源的ID 和名称。你也可以在web访问手动创建release的时候对比一下,如下图(Version应该是build的“ID”):

    如果我误解了这个问题,请指出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-21
      • 2020-09-13
      • 2021-02-23
      • 1970-01-01
      • 2020-05-25
      • 2017-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多