1

有没有办法以编程方式修改 TFS 服务器上的工作项类型?

这方面的背景是我们使用了一个类似于 VSTS.Build.FoundIn 的自定义字段,并希望使用全局列表中的内部版本号填充它。对于单个项目,这不是问题 - 使用全局列表的名称手动指定 SUGGESTEDVALUES 规则就足够了。这种方法的问题在于它不能应用于我们跨多个项目重用的模板 - 无法在全局列表引用中为项目名称指定占位符。因此,每次创建 TFS 项目时,我们都需要手动修改全局列表名称,例如从 <GLOBALLIST name="Builds - [ProjectName]" /> 到 <GLOBALLIST name="Builds - Project1" />

似乎 TFS 具有为 FoundIn 和 IntegrationBuild 属性创建这些规则的硬编码机制(请参阅此答案),我正在考虑为 TFS 事件创建一个处理程序,以模拟我们的自定义字段的这种逻辑。

4

1 回答 1

3

您可以在团队基础服务器上订阅 ProjectCreatedEvent,然后在创建项目后使用 Shai Raig 的帖子使用全局列表来创建您的全局列表。

http://blogs.microsoft.co.il/blogs/shair/archive/2010/03/08/tfs-api-part-23-create-global-list-xml-way.aspx

Martin Hinshelwood 有一篇关于订阅服务器事件的好帖子:http: //blog.hinshelwood.com/archive/2010/09/16/team-foundation-server-2010-event-handling-with-subscribers.aspx

编辑:您可以使用Team Foundation Server Power Tools编辑工作项,也可以修改项目模板,以便工作项具有新字段。

更新 1/20/2011:我发现这个问题回答了如何导入和导出工作项: 用于创建工作项模板的 TFS 客户端 API?

于 2011-01-18T18:14:03.773 回答