Я застрял в простой проблеме с TFS API, когда я получаю рабочий элемент, я не могу получить рабочие данные об усилиях, идея состоит в том, чтобы получить рабочий элемент из TFS по определенным критериям, а затем изменить данные Усиления и сохраните его обратно в TFS. Теперь я могу получить рабочий элемент и обновить любые данные по полю, но я не нашел, как получить Effort, и обновить его.TFS API получить данные рабочего элемента
запросы для получения данных из TFS:
SELECT * FROM WorkItems WHERE [System.WorkItemType] = 'Task' AND [Assigned to] = 'name'
ORDER BY [System.WorkItemType], [System.Id]
И это код для извлечения полого
public void getDataFromTfs()
{
Console.WriteLine("Getting data from TFS to Store");
Console.WriteLine("*********************");
setQuery();
Console.WriteLine("Query" + byTasksModified.ToString());
Console.WriteLine("*********************");
Console.ReadLine();
credentials = new System.Net.NetworkCredential("xxxxx", "xxxxxx", "xxxxx");
TfsTeamProjectCollection teamProjectCollection =
new TfsTeamProjectCollection(new Uri(@"LINK HERE"), credentials);
teamProjectCollection.EnsureAuthenticated();
Store = (WorkItemStore) teamProjectCollection.GetService(typeof(WorkItemStore));
WIC = Store.Query(byTasksAssignedTo);
Console.WriteLine("Data fetched into Store");
foreach (WorkItem workItem in WIC)
{
Console.WriteLine("ID: {0}", workItem.Id);
Console.WriteLine("Title: {0}", workItem.Title);
}
}
Здесь я получаю все задачи, которые мне нужно по конкретный запрос, а затем у меня есть метод для выполнения конкретной задачи
public void getSpecificWorkItemData()
{
workItem = Store.GetWorkItem(64);
Console.WriteLine("ID: {0}", workItem.Id);
Console.WriteLine("Title: {0}", workItem.Title);
workItem.Open();
Console.ReadLine();
}
, а затем у меня есть метод обновления для выполнения этой задачи
public void updateWorkItem()
{
workItem.Fields["Assigned to"].Value = "NAME";
if (workItem.IsValid() == false)
{
Console.WriteLine("Item is not valid");
}
else
{
try
{
workItem.Save();
}
catch (ValidationException exception)
{
Console.WriteLine("Error saving work item!");
Console.WriteLine(exception.Message);
}
Console.WriteLine("Item Saved");
workItem.Close();
Console.ReadLine();
}
}
Так что же это не работает. Что это значит, что вы именно то, что хотите? – jessehouwing
Ну, когда я вытаскиваю рабочий элемент, рабочий элемент не имеет никакой информации об Effort, и мне также нужно вытащить данные Effort, поэтому я могу его изменить, а затем обновить в TFS. Насколько я понимаю, я не могу изменить данные о затратах с помощью WorkItem.Fields [] –
Итак, это означает, что в моем запросе, где im, потянув все элементы, у меня есть [System.WorkItemType] = 'Task', я должен изменить его на Product Элемент Backlog, и тогда я смогу изменить действие с использованием полей? –