使用PowerShell,如何查询Team Foundation Server 2017 Update 2(内部部署)以获取最新完成的gated check-in中的代码覆盖百分比指标?
我没有在MS参考文档中找到明确的API调用。在Web界面中,我可以在仪表板中看到给定的已完成构建的百分比值以及下载整个Visual Studio coverage文件的链接。不过,我不想要这个文件。我只是想进行API调用并获得给定定义的最后一次成功构建的百分比覆盖率值。
答案 0 :(得分:2)
不幸的是,VSTS的REST API的文档现在已经关闭了,但是这应该可以帮助您入门(pulled from Google's Cache)。
此端点处理与测试和代码覆盖率相关的所有内容。
https://{instance}/DefaultCollection/{project}/_apis/test/codeCoverage?api-version={version}[&buildId={int}&flags={int}]
为以下内容提供值,然后运行此Invoke-RestMethod
以获取数据。
$Instance = 'fabrikam-fiber-inc.visualstudio.com' #your URL here
$ProjectName = #YourProjectNameHere
$buildID = #YourBuildIDHere
$version = '2.0-preview'
Invoke-RestMethod -uri https://$Instance/DefaultCollection/$ProjectName/_apis/test/codeCoverage?api-version=$version
以下是您可以获得的示例回复:
Status code: 200
{
"value": [
{
"configuration": {
"id": 51,
"flavor": "Debug",
"platform": "Any CPU",
"uri": "vstfs:///Build/Build/363",
"project": {}
},
"state": "0",
"lastError": "",
"modules": [
{
"blockCount": 2,
"blockData": "Aw==",
"name": "fabrikamunittests.dll",
"signature": "c27c5315-b4ec-3748-9751-2a20280c37d5",
"signatureAge": 1,
"statistics": {
"blocksCovered": 2,
"linesCovered": 4
},
"functions": []
}
],
"codeCoverageFileUrl": "..."
}
],
"count": 1
}
看起来像blocksCovered和livesCovered可能是你从API获得的最接近的。如果您需要帮助或卡住,请告诉我。最终,docs will be back online at this URL。