[英]How to get TFS Build demands for running builds
我試圖使用TFS 2015客戶端API來獲取新構建器系統的構建詳細信息。 我已經很遠了
使用GetBuildsAsync,我可以獲取當前正在運行的構建,但並非所有屬性都已填充。
var buildClient = new BuildHttpClient(new Uri(m_myCollectionUrl, UriKind.Absolute), cred);
Build[] buildsInProgress = (buildClient.GetBuildsAsync(projectName, statusFilter: Microsoft.TeamFoundation.Build.WebApi.BuildStatus.InProgress)).Result.ToArray();
即使構建定義具有一個或多個默認Demand,Build.Demands列表也始終為空,並且在構建隊列時指定另一個需求時,也不會使用API來顯示。 該列表始終為空。
我現在嘗試了幾種方法buildClient。 GetFullDefinitionsAsync-生成BuildDefinition ,其中需求= null buildClient。 GetDefinitionAsync-生成BuildDefinition ,其中需求用定義中的默認需求填充,但僅填充我們自己定義的需求,而不是系統需求。 buildClient。 GetBuildsAsync-在需求為null的Build中生成結果,所以我仍然沒有找到可以獲取用來查找BuildAgent的需求的調用 。 為了進行上述測試,我正在運行具有2個“ exist”需求的測試版本,並在隊列時間指定了另一個,而我找不到。
我在網上找不到很多相關信息。 我應該怎么做才能獲得有關構建的更多詳細信息。
謝謝。
需求是vNext構建系統中的一項新功能。 通過使用Rest API獲取構建詳細信息或構建定義,響應json中也沒有任何相關的默認需求信息。
害怕這是由於存在一些默認需求而設置為exist ,並且該值為null。 如果您手動添加等於等值的需求,則將相應返回值。
從獲得構建定義的 rest api中的響應json,將得到如下內容:
“需求”:[“代理名-等號測試”],
建議您使用客戶端API來獲取構建定義信息,如果設置等於,則將返回需求的一些值。
public static DefinitionReference[] GetBuildDefinitions(this BuildHttpClient buildServer, string collectionName)
{
var buildDefinitions = buildServer.GetDefinitionsAsync(project: collectionName).Result.ToList();
return buildDefinitions.ToArray();
}
更新
害怕您無法使用客戶端API來獲取構建定義和代理隊列位置的默認系統需求列表。 它基於TFS服務器。 它無法使用客戶端API來獲取TFS服務器端信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.