2012-04-14 5 views
6

Эти рабочие элементы (и связанные с ними изменения) часто подвержены ошибкам. Итак, хорошие кандидаты на просмотр кода команды, и должны уделять больше внимания.Как запросить рабочие элементы со слишком большим количеством наборов изменений

Я проверил Work Item Query Language and Client Object Model и WIQL syntax for Link Query, но до сих пор не может получить эти рабочие элементы (с количеством изменений) эффективно.

Можно ли запросить такой запрос (должен быть синтаксис WIQL, SQL здесь только для демонстрации)?

SELECT [Source].[System.Id], COUNT(1) AS Changesets FROM WorkItemLinks 
WHERE [Source].[System.WorkItemType] = 'Bug' 
    AND [System.Links.LinkType] = 'Changeset' 
GROUP BY [Source].[System.Id] 
HAVING Changesets > 5 

Или существует эффективный способ использования API-интерфейсов, которые не нуждаются в чтении каждого рабочего элемента, чтобы получить счет?

Или может быть достигнуто только путем выполнения SQL-запросов непосредственно в базе данных (like this)?

Или мы можем иметь что-то вроде CurrentRelatedLinkCount/ExternalLinkCount/HyperLinkCount/RelatedLinkCount, которые поддерживаются по умолчанию (с VS IDE или API), как поле запроса?

ответ

0

Это сложно без схемы вашего стола. Но я думаю, вы пытаетесь это сделать:

SELECT [Source].[System.Id], COUNT(1) AS Changesets FROM WorkItemLinks 
WHERE [Source].[System.WorkItemType] = 'Bug' 
    AND [System.Links.LinkType] = 'Changeset' 
GROUP BY [Source].[System.Id] 
HAVING COUNT(1) > 5 

Я прав?

+0

Лучший SQL-запрос. Но, однако, COUNT не поддерживается WIQL. –

0

Отчет будет делать это - построитель отчетов поддерживает SQL.

0

Если у вас установлены службы анализа SQL Server, вы можете запросить отношения. Вот как это сделать в Excel:

  1. Подключитесь к Tfs_Analysis куба в Excel (Data -> Другие источники -> Analysis Services)
  2. Выберите WorkItem полей наборов изменений,
  3. Посмотрите на Контроль версий набора изменения размера и выберите ID
  4. набора изменений
  5. Посмотрите на измерение рабочего элемента и выберите ID

Это позволит вам запрашивать отношения между рабочими пунктами и ревизиями. Если вы отобразите его как поле Row, а другое как поле столбца, а затем получите промежуточные итоги для каждой строки, это даст вам количество наборов изменений для каждого рабочего элемента (а также счет рабочего элемента для набора изменений).

Обратите внимание, однако, что выполнение этого запроса в очень большом проекте в TFS может быть чрезмерно дорогостоящим, поэтому вы должны сделать это для небольшого диапазона наборов изменений и небольшого числа рабочих элементов. Чтобы сделать это, обратите внимание, что для фильтрации дат для наборов изменений вам необходимо использовать измерение даты, тогда как для фильтрации дат для рабочих элементов вам необходимо использовать один из полей рабочего элемента (дата создания, дата изменения и т. Д.)

Возможно, вы, возможно, измените куб OLAP, чтобы получить эту информацию для фактических таблиц для вас, изменив свой процесс ETL со склада, и в этом случае вы просто сможете запросить счет набора изменений.

3

Вы можете использовать ссылки ExternalLinkCount для изменений. enter image description here