2017-06-12 77 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

相关问题