如何在 2 个已创建的特定工作项之间添加 link "parent/child" - Azure Boards
How to add a link "parent/child" between 2 certain already created work item - Azure Boards
目前,我们在 ci 环境(Azure Pipelines)中使用 Veracode 进行安全检查。 Veracode 有一个 azuredevops 插件,它在 azure boards 中创建缺陷作为工作项(bug、任务等)。但是,我们创建了一个特定的史诗“安全问题”,我们希望有一种方法可以通过管道 link,将一个已经创建的工作项作为 parent/child.
我一直在寻找方法(第一次使用 Azure API),但我没有找到任何特定的ci实现此集成的方法(我确实看到了,但在这种情况下,他们创建了一个工作项,而不是 linking 2 已经存在 ).
我确实与 Veracode 团队进行了交谈,但此功能当前不可用。但是我们可以添加自定义标签。
TL:DR:我如何通过管道自动化查询 azureboard 中的某些工作项,并将它们 link 作为 parent/child 到某个已创建的史诗。
提前致谢!
您可以使用 update work item REST API 在两个工作项之间添加一个 link。由于您在管道中使用 REST API,因此您可以在 PowerShell 任务中使用 运行 您的 REST API。下面是将子项 link 添加到现有工作项的示例:
$organization = "{Organization name}"
$project = "{Project name}"
$pat = "{PAT}"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "", $pat)))
$url = "https://dev.azure.com/$organization/$project/_apis/wit/workitems/{Work item id}?api-version=5.1"
$contentType = "application/json-patch+json"
$body= @'
[
{
"op": "add",
"path": "/relations/-",
"value": {
"rel": "System.LinkTypes.Hierarchy-Forward",//Add a child link
##"rel": "System.LinkTypes.Hierarchy-Reverse",//Add a parent link
"url": "https://dev.azure.com/{Organization name}/{Project name}/_apis/wit/workItems/{Work item id}"
}
}
]
'@
Invoke-RestMethod -Uri $url -Method PATCH -ContentType $contentType -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Body $body
您可以找到具有 this API 的工作项关系类型。
如果要查询工作项,可以尝试使用Wiql。请参考this example.
目前,我们在 ci 环境(Azure Pipelines)中使用 Veracode 进行安全检查。 Veracode 有一个 azuredevops 插件,它在 azure boards 中创建缺陷作为工作项(bug、任务等)。但是,我们创建了一个特定的史诗“安全问题”,我们希望有一种方法可以通过管道 link,将一个已经创建的工作项作为 parent/child.
我一直在寻找方法(第一次使用 Azure API),但我没有找到任何特定的ci实现此集成的方法(我确实看到了,但在这种情况下,他们创建了一个工作项,而不是 linking 2 已经存在
我确实与 Veracode 团队进行了交谈,但此功能当前不可用。但是我们可以添加自定义标签。
TL:DR:我如何通过管道自动化查询 azureboard 中的某些工作项,并将它们 link 作为 parent/child 到某个已创建的史诗。
提前致谢!
您可以使用 update work item REST API 在两个工作项之间添加一个 link。由于您在管道中使用 REST API,因此您可以在 PowerShell 任务中使用 运行 您的 REST API。下面是将子项 link 添加到现有工作项的示例:
$organization = "{Organization name}"
$project = "{Project name}"
$pat = "{PAT}"
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "", $pat)))
$url = "https://dev.azure.com/$organization/$project/_apis/wit/workitems/{Work item id}?api-version=5.1"
$contentType = "application/json-patch+json"
$body= @'
[
{
"op": "add",
"path": "/relations/-",
"value": {
"rel": "System.LinkTypes.Hierarchy-Forward",//Add a child link
##"rel": "System.LinkTypes.Hierarchy-Reverse",//Add a parent link
"url": "https://dev.azure.com/{Organization name}/{Project name}/_apis/wit/workItems/{Work item id}"
}
}
]
'@
Invoke-RestMethod -Uri $url -Method PATCH -ContentType $contentType -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Body $body
您可以找到具有 this API 的工作项关系类型。
如果要查询工作项,可以尝试使用Wiql。请参考this example.