TFS2010: как связать WorkItem с набором изменений - PullRequest
5 голосов
/ 07 сентября 2011

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

10 голосов
/ 07 сентября 2011

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

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

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

Кристиан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...