3

我在 TFS 2010 中有一个用户故事,我想将与用户故事相关的所有变更集链接到它。

所以在用户故事中,我转到All Links选项卡,点击Link to,将链接类型从 更改ChildChangeset,点击Browse,在下面填写我的名字,By user:然后点击Find。我现在看到了我所有变更集的列表。

我的问题是我有几十个变更集要附加到用户故事,但我无法进行多项选择。我必须选择一个变更集,然后单击两次OK以链接到它。然后我必须为下一个重复整个过程。等等...

这很快就会变得无聊。我最理想的做法是在Find Changesets窗口中搜索提交注释中的关键字,选择所有相关的变更集并立即链接到所有变更集。

有没有办法在 TFS 2010 中实现这一点,或者是否有另一种方法可以实现相同的结果。

4

2 回答 2

3

的,您可以使用Team Foundation Server API以编程方式执行此操作。

这是一个例子:

var server = new TeamFoundationServer(serverName);
var workItemStore = (WorkItemStore)server.GetService(typeof(WorkItemStore));
var project = workItemStore.Projects[projectName];

var userStoryId = 9;
var changeSetsIds = new[] { 2, 3, 4, 5 };

var userStory = project.Store.GetWorkItem(userStoryId);

foreach (var changeSetId in changeSetsIds)
{
    var changeSetLink = new RelatedLink(changeSetId);
    userStory.Links.Add(changeSetLink);
}

userStory.Save();

也可以看看:

于 2011-11-30T09:05:04.803 回答
1

链接部分可以按照@Enrico的建议完成。
您的另一个唯一挑战是发现并选择适当的变更集以填充 Enricos 的changeSetsIds.

我不知道如何使用 TFS-SDK 来实现这一点,但是有一些选项可以做到这一点:
您可以通过管道输出 a tfpt searchcs,或者使用这个VS 扩展。VS 扩展甚至可以使用正则表达式运行,但它的复制/粘贴在某种程度上并不是最佳的。

于 2011-12-01T10:27:17.113 回答