2017-06-29 80 views
0

我们正在转向基于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(.... 

回答

1

旧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版本。

相关问题