Прямой запрос TFS Warehouse с использованием T-SQL - PullRequest
4 голосов
/ 16 февраля 2009

Привет, мне интересно, имел ли кто-нибудь опыт обращения к хранилищу Team Foundation Server для получения информации о текущем рабочем элементе. Насколько я понимаю, необходимая мне информация хранится в базе данных TFSWarehouse.

Я хорошо знаю, что есть API, которые предоставляют эту функциональность, и я использовал их сам. Однако для этого необходимо установить Team Explorer на любой клиентский ПК, который будет ссылаться на API.

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

Кто-нибудь пытался сделать это самостоятельно, и действительно ли кто-нибудь знает о каких-либо подводных камнях с таким подходом?

---------- РЕДАКТИРОВАТЬ 16/02

Просто добавить после разговора с TreeUK. Что было бы замечательно, если бы у кого-то, возможно, был пример запроса или, может быть, какое-то объяснение относительно структуры таблицы?

Ответы [ 4 ]

4 голосов
/ 16 февраля 2009

Если у вас есть доступ к базе данных SQL, в которой находится TFS, вы можете написать запрос, извлекающий эту информацию.

База данных, на которую вы хотите посмотреть, - это TFSWarehouse. Ниже приведен запрос, который получает общую информацию о рабочем элементе.

select System_Id as WorkItemId, System_Title as Title,
System_State as Status, System_Reason as Reason, 
System_WorkItemType as Type
from [Work Item]

Понятно, что они все делают, проверьте эту таблицу, чтобы получить какие-либо другие интересующие свойства.

1 голос
/ 21 июля 2009

TFS 2005, это должно быть [workitemtracking] .dbo. [Workitemsare]

0 голосов
/ 14 июля 2015

TFS 2013, это должна быть [Ваша база данных Tfs_Warehouse] .dbo.DimWorkItem

SELECT System_Id as WorkItemId, System_Title as Title,
System_State as Status, System_Reason as Reason, 
System_WorkItemType as Type
FROM dbo.DimWorkItem
0 голосов
/ 07 марта 2013
SELECT DISTINCT Top(100) FactWorkItemLinkHistory.WorkItemLinkTypeSK, DimWorkItemLinkType.LinkName, DimWorkItem.System_Id, DimWorkItem.System_Title
FROM FactWorkItemLinkHistory
     INNER JOIN DimWorkItemLinkType ON DimWorkItemLinkType.LinkID = FactWorkItemLinkHistory.WorkItemLinkTypeSK
     INNER JOIN DimWorkItem ON DimWorkItem.System_Id = FactWorkItemLinkHistory.SourceWorkItemID
WHERE FactWorkItemLinkHistory.WorkItemLinkTypeSK = 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...