【问题标题】:How to get code coverage percentage for latest build from TFS 2017u2 using PowerShell & REST API如何使用 PowerShell 和 REST API 从 TFS 2017u2 获取最新版本的代码覆盖率
【发布时间】:2018-04-16 06:35:15
【问题描述】:

使用 PowerShell,我如何查询 Team Foundation Server 2017 Update 2(本地)以从最近完成的门控签入中获取代码覆盖率百分比指标?

我没有在 MS 参考文档中找到明确的 API 调用。在 Web 界面中,我可以在仪表板中看到给定已完成构建的百分比值和下载整个 Visual Studio 覆盖文件的链接。不过我不想要这个文件。我只想进行 API 调用并获取给定定义的最后一次成功构建的百分比覆盖率值。

【问题讨论】:

    标签: rest api powershell tfs


    【解决方案1】:

    不幸的是,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.

    【讨论】:

    • 哇@FoxDeploy - 这是一个快速、准确的响应。非常感谢!如果我遇到困难,我会接受你的帮助。
    猜你喜欢
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-04-10
    • 1970-01-01
    • 2020-02-13
    • 2020-08-19
    • 2016-09-08
    • 2014-02-21
    相关资源
    最近更新 更多