TFS 2010:如何将工作项链接到ChangeSet

时间:2011-09-07 11:57:16

标签: c# tfs2010

我想以编程方式将WorkItems链接到Changesets。

目前我已经从我的c#代码创建工作项并将它们保存到TFS。代码如下:

WorkItem item = new WorkItem(project.WorkItemTypes["CustomItem"]);            
item.Fields["CustomField1"].Value = someValue;
item.Fields["CustomField2"].Value = someValue;
item.Fields["CustomField3"].Value = someValue;
item.Validate();
item.Save();

这部分代码运行正常。现在我想将新创建的工作项与现有的变更集相关联。我正在使用以下方式获取变更集:

VersionControlServer service = collection.GetService<VersionControlServer>();
Changeset changeset = service.GetChangeset(123123, true, true);

但是,我只能遍历现有的工作项。我无法为此更改集添加新工作项。有谁知道如何实现这个目标?

1 个答案:

答案 0 :(得分:10)

我通过跟踪错误的方法找到了如何做到这一点:

WorkItemStore store = new WorkItemStore(collection);
Changeset changeset = service.GetChangeset(123, true, true);

WorkItem item = new WorkItem(project.WorkItemTypes["CustomItem"]);     
item.Links.Add(new ExternalLink(store.RegisteredLinkTypes[ArtifactLinkIds.Changeset], changeset.ArtifactUri.AbsoluteUri));       
item.Fields["CustomField1"].Value = someValue;
item.Fields["CustomField2"].Value = someValue;
item.Fields["CustomField3"].Value = someValue;
item.Validate();
item.Save();

我希望这将有助于将来的其他人! :)

基督教