TFS2010: как связать WorkItem с набором изменений

Я хотел бы программно связать 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 ответ

Решение

Я узнал, как сделать это методом следа и ошибки:

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();

Я надеюсь, что это поможет кому-то еще в будущем!:)

Кристиан

Другие вопросы по тегам