我正在尝试获取使用 C# 和 BuildHttpClient 运行的 Vnext 构建列表,但无法检索它们。但是,XAML 构建出现了。
BuildHttpClient 是否无法识别 Vnext 构建?一些论坛建议对 TFS 使用 REST API,但我正在寻找示例代码。
任何帮助表示赞赏!
我在我这边测试,它可以通过 BuildHttpClient 获取 Vnext 构建。
创建项目并尝试以下代码以获取 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