如何在2个已经创建的特定工作项之间添加链接“父/子”-Azure Boards

问题描述

当前,我们在ci环境(Azure管道)中使用Veracode进行安全检查。 Veracode有一个azuredevops插件,该插件会在azure板上作为工作项(缺陷,任务等)创建缺陷。但是,我们创建了一个史诗级的“安全性问题”,并且我们希望有一种方法可以通过管道进行链接,管道已经作为父/子与它已经创建的工作项关联。

我一直在寻找方法(第一次使用Azure API),但没有找到实现这种集成的任何特定方法(我确实看到了这一点,但是在这种情况下,他们创建了一个工作项,而不是链接2个已经存在的How to add work item as child to parent?)。

我确实与Veracode团队进行了交谈,但是此功能当前不可用。但是,我们可以添加自定义标签

TL:DR:如何通过管道自动化在azureboard中查询某些工作项,并将其作为父项/子项链接到某个已创建的史诗。

谢谢!

解决方法

您可以使用update work item REST API在两个工作项之间添加链接。由于您正在管道中使用REST API,因此可以在PowerShell任务中使用运行REST API。以下是将子链接添加到现有工作项的示例:

$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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...