簡體   English   中英

在 Azure DevOps 如何使用 REST API 觸發發布?

[英]In Azure DevOps How to trigger releases using REST API?

我在 Azure DevOps 中構建和發布管道。 該管道包含三個不同的階段,即 STAGING、QA 和 PROD。 因此,在 QA 插槽中完成部署后,我想使用 REST API 觸發 PROD 環境。 那么,有可能這樣做嗎?

在單個發布管道中不可能做到這一點。 發布創建 api只能觸發發布管道運行,不能觸發管道內的某個階段。 由於發布管道中的階段僅支持發布后、階段后手動

為了滿足您的要求,您必須將您的產品階段與此版本(版本 A)分開,這意味着您將使用單階段產品環境創建一個新的發布管道(版本 B)。

然后,您可以在發布管道 A 的 QA 階段末尾添加一個 powershell 任務,以調用 API 以觸發發布 B 部署到 Prod 環境。 下面的腳本是例如:

$releaseUrl ="https://vsrm.dev.azure.com/<organization>/<project>/_apis/release/releases?api-version=5.1"

$body = '{
  "definitionId": 4, # release definition id
  "description": "Creating prod release",
  "artifacts": [
    {
      "alias": "_NunitProject", #artifacts alias
      "instanceReference": {
        "id": "1367", #build id related to the artifacts
        "name": null
      }
    }
  ],
  "isDraft": false,
  "reason": "none",
  "manualEnvironments": null,
  }'


$result4 = Invoke-RestMethod -Uri $releaseUrl -Headers @{ Authorization = "Bearer $env:SYSTEM_ACCESSTOKEN" } -Method post -Body $body -ContentType "application/json"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM