如何使用 rest API 在 Azure DevOps 发布管道中添加任务

How to add task in Azure DevOps release pipeline using rest API

我想使用 rest 在 Azure DevOps 发布管道中添加任务 API -

这是更新发布管道的休息API -

放置https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/definitions?api-version=6.0

例如,如果我想在开发阶段的现有发布管道中添加 powershell 任务,我需要放置什么请求主体?

经过测试(按F12抓取对应的浏览器网络请求),这个API的请求体:Definitions - Update is the same content when you call this API: Definitions - Get得到它的定义

因此,您可以先获取发布管道定义,然后将下面的PowerShell任务代码段添加到workflowTasks array,它位于结果的environments array >>dev stage>> deployPhases array>>workflowTasks array

{
  "environment": {},
  "taskId": "e213ff0f-5d5c-4791-802d-52ea3e7be1f1",
  "version": "2.*",
  "name": "PowerShell Script test",
  "refName": "",
  "enabled": true,
  "alwaysRun": false,
  "continueOnError": false,
  "timeoutInMinutes": 0,
  "definitionType": "task",
  "overrideInputs": {},
  "condition": "succeeded()",
  "inputs": {
    "targetType": "inline",
    "filePath": "",
    "arguments": "",
    "script": "# Write your PowerShell commands here.\n\nWrite-Host \"Hello World\"\n",
    "errorActionPreference": "stop",
    "failOnStderr": "false",
    "showWarnings": "false",
    "ignoreLASTEXITCODE": "false",
    "pwsh": "false",
    "workingDirectory": ""
  }
}

然后在Dev阶段会有一个额外的PowerShell任务。 顺便说一句,每次更新都会生成一个新的revision,这是最新版本的发布定义,下次需要使用最新版本更新发布管道。