rest - 如何使用 PowerShell 和 REST API 从 TFS 2017u2 获取最新版本的代码覆盖率

标签 rest api powershell tfs

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

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

最佳答案

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

关于rest - 如何使用 PowerShell 和 REST API 从 TFS 2017u2 获取最新版本的代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47097276/

相关文章:

java - Salesforce - 通过 API 创建案例后触发自动响应规则

java - Spring Restcontroller 不返回 xml

c# - 如何从控制台应用程序使用带有表单例份验证的 Web API Restful Web 服务?

php - 通过 Graph API 安排的帖子经常不会发布

powershell - 从 PowerShell 打开 Notepad++

powershell - 在没有 `-y`开关的情况下使用Powershell ISE时,为什么Chocolatey会挂起?

java - 在服务器之间共享 REST token

javascript - 如何在javascript中按时间对对象数组进行排序

ruby-on-rails - Ruby on Rails API 安全性

powershell - 将参数安全地传递给使用 Puppet 执行的 Powershell 脚本?