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();
Я надеюсь, что это поможет кому-то еще в будущем!:)
Кристиан