Получить AccountName назначенного пользователя из TFS, используя WIQL
У меня есть такой wiql, чтобы получить рабочие элементы из TFS:
SELECT [System.Id], [System.Title], [Area Path], [Iteration Path], [Priority], [Test Owner], [Assigned To],[System.State], [System.Reason]
FROM WorkItems
WHERE [System.WorkItemType] = 'Feature' and
[Iteration Path] != '' and
[Area Path] Under 'MyProject'
поле [Assigned To]
возвращает отображаемое имя пользователя. Можно ли получить AccountName этого пользователя? Спасибо!
1 ответ
Можно получить AccountName. Но это не так просто. Поля со значениями имени пользователя, такими как поле AssignedTo, хранятся в базе данных TFS как ссылка на идентификатор, а не просто как отображаемое имя, поэтому можно подумать, что существует какой-то простой способ получить любое поле, связанное с этим идентификатором, но это просто не часть дизайна TFS - пока нет.
Даже запрос списка учетных записей по отображаемому имени не поддерживается. Вместо этого я обнаружил, что единственный доступный вариант - копаться в списке учетных записей и сопоставлять отображаемое имя с идентификатором. Эта личность имеет ваш AccountName. Конечно, время и ресурсы для этого поиска будут расти по мере роста вашего списка пользователей. Я не знаю, стоит ли вам столько хлопот, но этот сайт показывает, как извлечь имя учетной записи только из отображаемого имени (в VB): http://www.developerfusion.com/community/blog-entry/8389748 / извлечения-ан-идентичность из-команды-основа-сервер, используя только-The-дисплей-имя /