簡體   English   中英

如何獲得運行構建的TFS Build需求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM