Tfs TeaSeSe评论在Team Foundation服务器上的位置?

Tfs TeaSeSe评论在Team Foundation服务器上的位置?,tfs,continuous-integration,tfsbuild,Tfs,Continuous Integration,Tfsbuild,我的一位同事正在编写一个持续集成构建脚本,该脚本可以在开发人员每次签入时生成一个新的构建,并在构建完成时向开发团队发送一封电子邮件。我们希望获取与签入相关的任何注释(与右键单击项目文件并选择查看历史记录时看到的注释相同),并将其包含在电子邮件中。但是,我们不确定在TFS的后端将脚本指向何处,以便它可以检索这些注释。有人知道我们应该去哪里吗?您是否使用TFS API来实现这一点?如果是这样,您只需执行以下操作: TeamFoundationServer tfs=TeamFoundationServ

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

您是否使用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(新Uri(“http://WhateverBuildUrl"));
List associatedChangesets=InformationNodeConverters.GetAssociatedChangesets(构建);
foreach(关联变更集中的IChangesetSummary变更集数据)
{
Changeset Changeset=VsServer.GetChangeset(changeSetData.ChangesetId);
字符串x=changeSet.Comment;
} 
如果要在DB中查找,可以查看变更集标题:

使用tfs\u仓库
选择[ChangesetID]
,[ChangesetTitle]
来自[tfs_仓库].[dbo].[DimChangeset]
从这里向id、日期等添加where子句

这就是TFS 2010中存储数据的位置


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

我们使用的是MS构建脚本,因此我不确定是否可以这样使用API。您知道这是否可行吗?只需添加一个自定义任务。在自定义任务参考中使用Microsoft.TeamFoundation.Client、Microsoft.TeamFoundation.VersionControl.Client、Microsoft.TeamFoundation.Build.Client并编写代码,这应该可以做到。如果您需要有关编写自定义任务的帮助,您可以在谷歌上搜索并查找一些示例,但实际上您只需创建一个项目并生成。将该自定义任务中的dll和引用获取到MSBuild脚本中。您的项目当然可以像其他项目一样引用前面提到的程序集。你们还没有部署TFS构建服务器部件吗?