通过API获取关于Web风格构建的信息
问题描述:
我们正在转向基于TFS 2015(更新4)的Web风格构建。通过API获取关于Web风格构建的信息
我一直能够使用下面的代码检索有关构建的信息,但这并不是检索通过Web界面创建的新构建。
是否有合理的方法来修改我的代码以引入遗留构建和新样式构建?
如果不是,我认为是时候弄清楚如何使用REST API了。任何提示等效查询将不胜感激。
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://SERVERINFO"));
IBuildServer buildServer = (IBuildServer) tfs.GetService(typeof (IBuildServer));
var buildDetail = buildServer.CreateBuildDetailSpec("*");
buildDetail.MinFinishTime = DateTime.Now.Date.AddDays(-1);
buildDetail.InformationTypes = null;
buildDetail.QueryDeletedOption = QueryDeletedOption.IncludeDeleted;
buildDetail.MaxBuildsPerDefinition = 1; //Only return the most recent of each build type...or comment out to return all builds with this definition
var builds = buildServer.QueryBuilds(buildDetail).Builds.Select(....
答
旧XAML构建系统使用基于任务 .The SOAP API新的vNet构建系统没有一个SOAP API。它使用REST API。恐怕你不能修改代码来获得新的版本。他们不支持Build vNext,因为他们是在他们的时间之前编写的。
除了SOAP API正在慢慢地被REST API取代,特别是在一些新功能中。特别是在一些新功能中。因为您正在转向vNext构建TFS2015 update4。强烈建议你stat使用Rest API。
您可以通过查询REST API directly或使用Team Foundation Server Client NuGet package从C#代码访问它。 一个示例:
using System;
using System.Collections.Generic;
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Build.WebApi;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Uri tfsurl = new Uri("http://xxxx:8080/tfs/CollectionName");
TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(tfsurl);
BuildHttpClient bhc = ttpc.GetClient<BuildHttpClient>();
List<Build> builds = bhc.GetBuildsAsync("ProjectName").Result;
foreach (Build bu in builds)
{
Console.WriteLine(bu.BuildNumber);
}
Console.ReadLine();
}
}
}
通过在图书馆使用REST API如上,你可能能够得到这两个XAML和vNext版本。