将多个更改集一次链接到TFS 2010中的用户素材

时间:2011-11-30 08:34:36

标签: tfs tfs2010 changeset

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

因此,在用户素材中,我转到All Links标签,点击Link to,将链接类型从Child更改为Changeset,然后点击{{1在Browse下填写我的姓名,然后点击By user:。我现在看到了所有变更集的列表。

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

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

有没有办法在TFS 2010中实现这一目标,还是有另一种方法可以达到相同的效果。

2 个答案:

答案 0 :(得分: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();

另见:

答案 1 :(得分:1)

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

我不知道使用TFS-SDK实现这一点的方法,但有options来执行此操作:
您可以管道输出tfpt searchcs,或者使用它this VS扩展名。 VS扩展即使使用正则表达式也可以运行,但它的复制/粘贴在某种程度上并不是最佳的。