2017-06-12 75 views
0

TFS 2013中存在用於分支名稱的環境變量。然而,我的公司仍然使用TFS 2012.TFS 2012構建期間的GetBranch名稱

有誰知道如何在TFS 2012版本中獲得分支名稱?

在TFS Build api中是否有一個具有分支名稱屬性的類?

我還沒有找到。

預先感謝您

回答

0

您可以訪問配置了此通過構建IBuildDetails的路徑。

只需使用VersionControlServer類查詢 BranchObjects,然後檢查哪一個是你的工作文件夾 根。

示例代碼:

IBuildDetail buildDetail = context.GetExtension<IBuildDetail>(); 

var workspace = buildDetail.BuildDefinition.Workspace; 
var versionControlServer = buildDetail.BuildServer.TeamProjectCollection.GetService<VersionControlServer>(); 

var branches = versionControlServer.QueryRootBranchObjects(RecursionType.Full); 
var referencedBranches = listOfFilePaths.GroupBy(
       file => 
       branches.SingleOrDefault(
        branch => file.ServerItem.StartsWith(branch.Properties.RootItem.Item) 
       ) 
      ).Where(group => group.Key != null); 

更多詳細信息,請參閱在這個問題jessehouwing的回覆:Include branch name in post build event on Team Build

相關問題