我的一位同事正在开发一个持续集成构建脚本,每次开发人员进行签入时都会生成一个新构建,并在构建完成后向开发团队发送一封电子邮件。我们希望获取与签入相关的任何注释(通过右键单击项目文件并选择查看历史记录,您将看到相同的注释)并将其包含在电子邮件中。但是,我们不确定TFS后端的哪个位置指向脚本,以便它可以检索这些注释。有谁知道我们应该在哪里看?
答案 0 :(得分:4)
您是否正在使用TFS API?如果是这样,你只需:
TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer("http://WhateverServerUrl");
IBuildServer buildServer = (IBuildServer)tfs.GetService(typeof(IBuildServer));
VersionControlServer VsServer = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
IBuildDetail build = buildServer.GetAllBuildDetails(new Uri("http://WhateverBuildUrl"));
List<IChangesetSummary> associatedChangesets = InformationNodeConverters.GetAssociatedChangesets(build);
foreach (IChangesetSummary changeSetData in associatedChangesets)
{
Changeset changeSet = VsServer.GetChangeset(changeSetData.ChangesetId);
string x = changeSet.Comment;
}
如果您要在数据库中查找它,可以查看变更集标题:
USE tfs_warehouse
SELECT [ChangesetID]
,[ChangesetTitle]
FROM [tfs_warehouse].[dbo].[DimChangeset]
从这里添加一个where子句到id,date等。
这是数据存储在TFS 2010中的地方。
在TFS 2008中,您将使用TfsWarehouse并查看dbo.ChangeSet Changset列。