0

我正在尝试获取使用 C# 和 BuildHttpClient 运行的 Vnext 构建列表,但无法检索它们。但是,XAML 构建出现了。

BuildHttpClient 是否无法识别 Vnext 构建?一些论坛建议对 TFS 使用 REST API,但我正在寻找示例代码。

任何帮助表示赞赏!

4

1 回答 1

0

我在我这边测试,它可以通过 BuildHttpClient 获取 Vnext 构建。

  1. 安装Microsoft Team Foundation Server 扩展客户端包,然后它会自动添加必要的程序集。
  2. 创建项目并尝试以下代码以获取 TFS 2017 的 Vnext 构建列表:

    using Microsoft.TeamFoundation.Build.WebApi;
    
    using Microsoft.VisualStudio.Services.WebApi;
    
    using Microsoft.VisualStudio.Services.Common;
    
    using System;
    using System.Net;
    
    namespace GetBuild
    {
        class Program
        {
            static void Main(string[] args)
    
            {
                var u = new Uri("http://win-kev006:8080/tfs/DefaultCollection/");
                VssCredentials c = new VssCredentials(new Microsoft.VisualStudio.Services.Common.WindowsCredential(new NetworkCredential("user", "password", "domain"))); 
                var connection = new VssConnection(u, c);
                var buildServer = connection.GetClient<BuildHttpClient>();
                var builds = buildServer.GetBuildsAsync("LCTFVCScrum").Result; 
                for (int i = 0; i < builds.Count; i++)
                {
                    Console.WriteLine(string.Format("  number: {0} -result: {1} - status: {2}", builds[i].BuildNumber, builds[i].Result.ToString(), builds[i].Status.ToString()));
                }
    
            }
        }
    }
    

REST API 如下:

GET https://{instance}/DefaultCollection/{project}/_apis/build/builds?api-version={version}

https://www.visualstudio.com/en-us/docs/integrate/api/build/builds#work-items

于 2017-06-13T08:27:13.520 回答