我们一直在将 curl 与 VSTS/Azure API v5.1 结合使用来创建测试运行、发布测试结果以及将测试运行设置为“已完成”状态已有很长一段时间。
在过去的几周里,我们将测试运行状态从“进行中”修补为“已完成”的请求没有得到落实。
(但我们可以使用相同的请求来更新其他测试运行属性,例如“comment”的值)
文档仍然提到为状态提供可接受的值:
您能否通过 API 完成测试?谢谢
curl -k -H "Content-Type: application/json" -H "Authorization: Basic {token}" --request PATCH -d "{'state':'Completed','build':{'id': 0},'comment':'an updated comment'}" https://dev.azure.com/etc/etc/_apis/test/runs/{testrunID}?api-version=5.1
最佳答案
我可以通过 REST API 成功地将状态更新为 Completed
:
PATCH https://dev.azure.com/{organizaion}/{project}/_apis/test/runs/{runid}?api-version=5.1
Request Body:
{
"state": "Completed"
}
但它只更新了测试运行状态,如果结果不是Passed
,那么Completed状态附近会有一个三角感叹号。
因此,要完全更新状态,我们必须将测试结果 outcome
更新为 Passed
:
PATCH https://dev.azure.com/{organization}/{project}/_apis/test/runs/{runid}/Results?api-version=5.1
Request body:
[
{
"id": 100000,
"outcome": "Passed"
}
]
关于api - 无法通过 API 将测试运行状态更新为已完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58410118/