我正在使用.NET 客户端库VSTS/TFS 2015 根据我在另一个团队项目中获取的模板以编程方式创建构建定义。
我可以使用以下方法获取构建定义模板(2.0):
BuildDefinitionTemplate builddeftemplate = buildHttpClient.GetTemplateAsync(teamProject, templateId).Result;
我可以使用以下方法创建构建定义:
BuildDefinition builddef = new BuildDefinition();
builddef.Project = newTeamProject;
但看起来没有办法将模板作为构建定义的属性传递,也没有从模板创建构建定义。
查看 REST API 的文档时,GET 请求实际上看起来会返回大量 JSON:
{
"id": "vsBuild",
"name": "Visual Studio",
"canDelete": false,
"category": "Build",
"iconTaskId": "71a9a2d3-a98a-4caa-96ab-affca411ecda",
"description": "Build and run tests using Visual Studio. This template requires that Visual Studio be installed on the build agent.",
"template": {
"build": [
{
"enabled": true,
"continueOnError": false,
"alwaysRun": false,
"task": {
"id": "71a9a2d3-a98a-4caa-96ab-affca411ecda",
"versionSpec": "*"
},
"inputs": {
"solution": "**\\*.sln",
"msbuildLocation": "",
"vsLocation": "",
"msbuildArgs": "",
"platform": "$(BuildPlatform)",
"configuration": "$(BuildConfiguration)",
"clean": "false"
}
},
...
因此,我认为可能只获取返回模板的一部分作为 JSON 对象,并通过这些部分传递构建定义的 POST,但似乎这只能是 REST API 路由。
.NET 客户端库可以实现这一点吗?还是有一种我可能错过的更简单的方法?