无法根据文档将工作项链接到测试结果

时间:2021-01-07 00:43:53

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

当我关注这份文件时 Publish Test Results task 我没有找到将工作项链接到测试用例的任何字段。我是否需要调用 api 来执行此操作?或者有没有文档中没有的字段?

谢谢! screenshot

1 个答案:

答案 0 :(得分:0)

我们可能会在试运行结果汇总页面添加工作项目。

在生成摘要PAGE->点击该标签测试 - >选择的测试结果,我们可以看到run idresultId在URL

enter image description here

打开测试计划 - >单击该选项卡的奔跑 - >选择测试运行并打开它 - >单击该选项卡的测试结果和打开它 - >我们可以看到按钮的错误 - >单击它,然后我们就可以选择创建新的bug或添加现有的错误。您可以查看下面的照片。

enter image description here

更新 1

我们可以通过做这个REST API添加工作项目。

示例:

PATCH https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/results?api-version=6.0

请求正文:

[
  {
    "id": {Result ID},
    "state": "Completed",
    "comment": "{Comment}",
    "associatedBugs": [
      {
        "id": {Bug ID}
      }
    ]
  }
]

然后,我们可以检查它在用户界面或该REST API

示例:

GET https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/results/{testCaseResultId}?detailsToInclude=workItems&api-version=6.0-preview

请注意:我们可以得到任务测试运行ID发布测试结果的日志。我们可以添加电源外壳任务,并输入脚本在管道中添加工作项目。

电源壳脚本示例:

$connectionToken="{PAT}"
$base64AuthInfo= [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($connectionToken)"))
$Url = "https://dev.azure.com/{organization}/{project}/_apis/test/Runs/{runId}/results?api-version=6.0"  
$Body = @"
[
  {
    "id": {Result ID},
    "state": "Completed",
    "comment": "{Comment}",
    "associatedBugs": [
      {
        "id": {Bug ID}
      }
    ]
  }
]
"@


$Result = Invoke-RestMethod -Uri $Url -ContentType "application/json-patch+json" -Body $Body -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method PATCH