关于tfs:Team Foundation服务器上的变更集注释的位置?

Location of changeset comments on a Team Foundation server?

我的一位同事正在研究"持续集成"构建脚本,该脚本在开发人员每次签入时都会进行新构建,并在构建完成时向开发团队发送电子邮件。 我们希望获取与签入关联的所有注释(与您在右键单击项目文件并选择"查看历史记录"时看到的注释相同),并将其包含在电子邮件中。 但是,我们不确定TFS后端应指向脚本的哪个位置,以便它可以检索这些注释。 有谁知道我们应该去哪里?


您正在为此使用TFS API吗? 如果是这样,您只需执行以下操作:

1
2
3
4
5
6
7
8
9
10
11
12
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;
}

如果要在数据库中查找它,可以查看更改集标题:

1
2
3
4
USE tfs_warehouse
SELECT [ChangesetID]
      ,[ChangesetTitle]
  FROM [tfs_warehouse].[dbo].[DimChangeset]

从此处在id,日期等中添加where子句。

该数据存储在TFS 2010中。

在TFS 2008中,您将使用TfsWarehouse并查看dbo.ChangeSet Changset列。