Я создал новый тип рабочего элемента в XML, и импортировать его с помощью командной строки: witadmin importwitd ...Как модифицировать TFS WorkItemType> FieldDefinition> AllowedValues программно в C#?
Скажем, у меня есть поле, определенное как таковые в XML:
<FIELD name="severity" refname="MySeverity" type="String">
<ALLOWEDVALUES>
<LISTITEM value="High"/>
<LISTITEM value="Medium"/>
</ALLOWEDVALUES>
</FIELD>
Теперь я хочу изменить это FieldDefinition и добавить к нему еще один LISTITEM, скажем «Low». Я выяснил, что это можно сделать, изменив XML и повторно импортировав его. Мой вопрос в том, есть ли способ сделать это программно в C#?
Для получения дополнительной информации, мне удалось запросить определения полей с помощью следующих кодов:
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(my_uri));
WorkItemStore wistore = (WorkItemStore)tpc.GetService(typeof(WorkItemStore));
WorkItemType witype = wistore.Projects["MyProject"].WorkItemTypes["MyWorkItemType"];
for (int i = 0; i < witype.FieldDefinitions.Count; ++i)
{
FieldDefinition fd = witype.FieldDefinitions[i];
// Not able to modify fd and save.
}
Я был бы признателен, если кто-то может пролить некоторый свет на это. Спасибо заранее!
Я не думаю, что это возможно (если моя память правильная, FieldDefinition находится в режиме только для чтения). Вам лучше попытаться изменить свое поле через XML через код, а не через TFS SDK. – Atlasmaybe
Ну, элементы списка фактически основаны на содержании какой-либо таблицы. Они должны быть синхронизированы. Если я обновляю элементы списка, обновляя XML через коды, тогда мне также нужно будет сохранить WORKFLOW и FORM в XML через коды. Это нежелательно, так как я хочу, чтобы конструкция формы и логика разваливались. Спасибо за ваш ответ, хотя! – Dunnomuch