Установите оценки усилий с помощью TFS Work Item SDK - PullRequest
5 голосов
/ 16 января 2012

Я хочу создать новый рабочий элемент в TFS, используя SDK, и я хотел бы установить оценки усилия элемента. Мой код на данный момент выглядит так

    var coll = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://galaxy:8080/tfs/crisp"));

    var workItemService = coll.GetService<WorkItemStore>();

    var parent = workItemService.GetWorkItem(parentWorkItemId);

    WorkItemType workItemType =parent.Project.WorkItemTypes
            .Cast<WorkItemType>()
            .First(candidateType => candidateType.Name.Equals("Task"));



    WorkItem item = workItemType.NewWorkItem();
    item.Title = work.Name;


    //Set effort estimate here

    workItemService.BatchSave(new WorkItem[]{ item });

Но в интерфейсе для WorkItem, похоже, нет ничего, что позволяло бы мне устанавливать оценку усилий. Кто-нибудь знает, как это делается?

1 Ответ

7 голосов
/ 16 января 2012

Оказывается, это делается с помощью оператора [] для объекта WorkItem.

var coll = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://galaxy:8080/tfs/crisp"), new UICredentialsProvider());

var workItemService = coll.GetService<WorkItemStore>();

var parent = workItemService.GetWorkItem(parentWorkItemId);

WorkItemType workItemType =parent.Project.WorkItemTypes
            .Cast<WorkItemType>()
            .First(candidateType => candidateType.Name.Equals("Task"));

WorkItem item = workItemType.NewWorkItem();
item.Title = "A name";

item["Original Estimate"] = duration.TotalHours;
item["Completed Work"] = duration.TotalHours;
item["Remaining Work"] = 0.0;

int workItemId = item.Save();
...