如何通过Azure DevOps REST API使用PowerShell创建功能以及链接的任务?

时间:2019-07-14 13:43:24

标签: powershell azure-devops devops azure-devops-rest-api

我正在尝试使用PowerShell调用Azure DevOps API创建功能,然后创建链接到该功能的子任务。

我已成功创建功能;并且我已经成功创建了与所述功能链接的子任务,但是,我不确定如何在一个脚本中完成所有任务。我面临的问题是,当所有子任务都在单个脚本中完成时,创建子任务时,他们如何知道要链接的父功能的ID?

希望这很有道理。

我已经创建了一个功能和该功能的子任务,但并非所有任务都在同一脚本中完成。

select, name, max(population) from city
## answer##
Kabul   10500000 ### which is not the population Kabul###

它在工作项44712​​9上创建子任务,但我真的希望我的脚本先创建主要功能,然后再创建子任务,将其链接到该功能并通过AssignedTo分配给我选择的人。

2 个答案:

答案 0 :(得分:0)

使用Invoke-RestMethod创建功能部件时,会收到一条响应,其中包含创建的功能部件的id

{
     "id": 3124214,
     "rev": 1,
     ... and more
}

因此,只需将其放在变量中,即可在创建任务时使用它:

$newFeature = Invoke-RestMethod ...
$newFeatureId = newFeature.id

答案 1 :(得分:0)

如果您不打算直接通过Invoke-RestMethod来直接使用REST API,我建议为此使用Azure Devops CLI,因为它将使您的脚本更加简单和易于理解。

安装完成后,以下脚本将实现您要尝试的操作:

$Project = '<YOUR PROJECT>'
$Organization = '<YOUR ORGANIZATION>'
$FeatureID = az boards work-item create --title 'Feature' --type Feature --project $Project --organization $Organization --output json --query 'id'; `
$TaskId = az boards work-item create --title 'Task' --type Task --project $Project --organization $Organization --output json --query 'id'; `
az boards work-item relation add --id $TaskID --relation-type child --target-id $FeatureID --organization $Organization