我想以编程方式将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();
Run Code Online (Sandbox Code Playgroud)
这部分代码工作正常.现在我想将新创建的工作项与现有的变更集相关联.我正在使用变换集:
VersionControlServer service = collection.GetService<VersionControlServer>();
Changeset changeset = service.GetChangeset(123123, true, true);
Run Code Online (Sandbox Code Playgroud)
但是,我只能遍历现有的工作项.我无法为此更改集添加新工作项.有谁知道如何实现这一目标?
Chr*_*ian 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();
Run Code Online (Sandbox Code Playgroud)
我希望这将有助于将来的其他人!:)
基督教