是否可以使用常规对象模型获取Team Foundation Server 2015新的构建定义,或者我是否被迫使用REST API获取它们?
如果可以使用对象模型,我应该使用哪个类?
我能够使用IBuildServer.QueryBuildDefinitions
获取XAML构建定义。是否有与此方法等效的方法,以便我可以访问新的构建定义及其变量?
答案 0 :(得分:6)
您正在寻找Build 2.0 REST API。 documentation can be found here。
有一个客户端包装器作为新NuGet包的一部分提供,Microsoft.TeamFoundation.Build2.WebApi
程序集提供了一个BuildHttpClient
对象,它是访问新构建系统的起点。
答案 1 :(得分:0)
您可以使用Microsoft.TeamFoundation.Build.WebApi.BuildHttpClient
:
var cred = new VssCredentials(new WindowsCredential(new NetworkCredential("{userid}", "{password}")));
string collectionURL = "http://{tfs-server-url}:8080/tfs/{collection-name}";
var buildClient = new BuildHttpClient(new Uri(collectionURL, UriKind.Absolute), cred);
//this is the source project's build definition
//http://{tfs-server-url}:8080/tfs/{collection-name}/{project-name}/_build?_a=completed&definitionId={buildDefId}
var buildDefId = 20;
//"http://{tfs-server-url}:8080/tfs/{collection-name}/{project-name}";
var projectName = "{project-name}";
var buildDef = (await buildClient.GetDefinitionAsync(projectName, buildDefId)) as BuildDefinition;
Console.WriteLine(buildDef.Name);//here you can get all the other properties
VssCredentials
课程来自Microsoft.VisualStudio.Services.Common
大会。将所有{...}
替换为您的参数。