我们正在转向基于TFS 2015的web样式构建(更新4)。
我一直能够使用下面的代码检索有关构建的信息,但这并不是检索通过web接口创建的新构建。
是否有合理的方法来修改我的代码,同时引入旧版本和新样式构建?
如果不是,我认为是时候研究如何使用REST了。任何类似查询的提示都将不胜感激。
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(....
发布于 2017-06-30 06:31:34
旧的XAML构建系统使用基于SOAP .The任务的新vNet构建系统没有SOAP。它使用的是REST 。恐怕您不能仅仅修改代码以获得新的构建。它们不支持构建vNext,因为它们是在编写之前编写的。
此外,SOAP正在慢慢地被REST所取代,特别是在一些新的features.Since中,您将迁移到基于TFS2015 update4的vNext构建。强烈建议stat使用Rest。
您可以通过查询C#或使用客户端NuGet包从REST直接代码访问它。样本:
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,您可以同时获得XAML和vNext构建。
https://stackoverflow.com/questions/44827758
复制相似问题