對於VSTS/TFS 2015,我使用.NET Client Libraries以編程方式創建基於我在另一個團隊項目中抓取的模板的構建定義。使用TFS 2015 .NET客戶端庫從模板創建構建定義
我可以用得到的構建定義模板(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客戶端庫嗎?還是有更簡單的方法,我可能錯過了?
什麼是你想創建構建定義的構建的類型? vNext或XAML? –
vNext。我認爲帕特里克(下圖)能夠提供解決方案,但挑戰肯定是對舊團隊項目的引用,它會導致問題創建構建定義,但這對於將來的REST API肯定會是一個驚人的補充。 – Sachi