2011-03-25 43 views
3

我想我可能誤解了這個函數的目的,但這是我的問題。TFS API InformationNodeConverters.GetAssociatedChangesets()不按預期工作

當我看到在構建綜上所述,筆者看到,構建成功運行,它告訴我:

[person] triggered [build number] ([project]) for changeset 123456 

我有下面的代碼,它運行在一個控制檯應用程序告訴我是什麼樣的變更包含在構建中。

IBuildDefinition[] result = buildServer.QueryBuildDefinitions(teamProj.Name); 
foreach (IBuildDefinition def in result) 
{ 
    IBuildDetail[] dets = def.QueryBuilds(); 

    foreach (IBuildDetail det in dets) 
    { 
     det.RefreshAllDetails(); 

     // Get changesets for the buildList<IChangesetSummary>  
     changes = InformationNodeConverters.GetAssociatedChangesets(buildDetail); 
     foreach (IChangesetSummary changeset in changes) 
     { 

     } 
    } 
} 

問題是這不會返回任何內容。信息propery有6個節點,其中沒有一個與變更集或工作項相關。爲什麼VS2010構建摘要告訴我,我有一個關聯的變更集,但下面的代碼告訴我不同​​?

回答

2

構建的狀態是什麼? (成功,失敗或部分成功)?此外,您正在使用哪個構建過程模板?您是否使用默認的構建過程模板,並且您是否已經對其進行了更新?如果您自定義構建以使AssociateChangesetsAndWorkItems構建活動正常工作,則必須確保您保留一些內容。

我幫安迪·劉易斯的一些這裏的信息:http://blogs.msdn.com/b/andy-lewis/archive/2011/01/31/how-good-was-that-build.aspx

你提到的字符串實際上不是什麼表示有相關的變更。在構建摘要屏幕上,您應該看到一個標題爲「關聯變更集」的部分。如果你不這樣做,那通常是第一個有問題的跡象。

讓我們知道一些額外的信息,我很樂意提供幫助!

+0

這看起來像問題 - 儘管構建摘要報告了相關的變更集,但沒有任何變化。問題在於構建之前在這個分支上的最後一個操作是分支(用於發佈) - 因此TFS不會將分支識別爲變化。 – 2011-03-31 10:18:12

+0

我的問題是InformationNodeConverters.GetAssociatedChangesets對於不成功的構建沒有返回任何結果。現在我試圖找出如何顯示這些......(但是,更改集是爲了好的構建而返回的。) – 2011-12-08 21:58:05