API TFS 2010 получает все состояния для рабочего элемента - PullRequest
0 голосов
/ 15 февраля 2012

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

Для того, чтобы сделать это, мне нужно показать столбец для каждого из возможных состояний элемента может бытьв.

Есть ли способ получить эту информацию с помощью API?Если нет, я думаю, я попробую что-то вроде этого: TFS API - есть ли способ получить список переходов для типа рабочего элемента? , который включает в себя просмотр xml для их получения.

Спасибо, Кохан

1 Ответ

2 голосов
/ 15 февраля 2012

Ссылка, которую вы упомянули, - это путь, если вы хотите перечислить ВСЕ возможные состояния для данного типа рабочего элемента.

API не предоставляет какого-либо списка состояний. А части механизма правил рабочих элементов написаны в собственном коде и, таким образом, находятся вне досягаемости, если вы решили пойти по пути отражения.

Класс WorkItemType (который будет местом для поиска переходов) при открытии в Reflector показывает закрытое поле типа PSWorkItemTypeClass, которое, в свою очередь, является оболочкой для нативного объекта, предоставляемого механизмом правил (и, как можно себе представить, это черный ящик).

С другой стороны, если вы хотите заполнить свой пользовательский интерфейс всеми состояниями , используемыми в настоящее время , другой вариант, который следует рассмотреть, - запросить реляционный склад.

Подключитесь к базе данных Tfs_Warehouse и выполните следующий запрос:

SELECT 
    DISTINCT [System_State]
FROM 
    [Tfs_Warehouse].[dbo].[CurrentWorkItemView]
WHERE 
    [System_WorkItemType] = 'Task' AND
    [ProjectNodeName] = 'My-Team-Project'

Где My-Team-Project - название вашего командного проекта.

Примите во внимание, что между транзакционным хранилищем (где TFS хранит реальные рабочие элементы) и реляционным хранилищем данных существует некоторая задержка.

...