TFS 2010 - запрос необходим для объединения трех уровней WorkItems - PullRequest
1 голос
/ 14 марта 2012

Я просто настраиваю некоторые типы WorkItem для управления нашими выпусками - у меня довольно далеко, но я не вижу, как получить запрос, чтобы получить список того, что мне нужно.

У меня есть пользовательские истории с типами рабочих элементов «Развертывание приложений» в качестве дочерних. Каждое развертывание приложения представляет собой приложение для развертывания. Пользовательская история может потребовать изменения двух приложений. Это отношения родитель / ребенок.

Помимо этого, у меня также есть типы рабочих элементов "Release". Каждый выпуск представляет собой день, в который мы будем развертывать наше программное обеспечение. Релиз будет иметь несколько пользовательских историй, связанных с ним - я думаю, используя топологию сети LinkType. Это связано с тем, что пользовательская история может быть фактически связана с более чем одним выпуском (например, если мы выпустим сначала на одну территорию, а затем на все оставшиеся территории неделю спустя).

То, что я хотел бы, это запрос, который перечисляет, какие приложения должны быть выпущены: -

  • Релиз "14/03/2012"
    • Развертывание приложения "MyWebApp1"
    • Развертывание приложения "SomeWindowsService"

Выпуск 14.03.2012 Приложение

1 Ответ

2 голосов
/ 14 марта 2012

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

В редакторе запросов вы сможете выбрать тип запроса как «Дерево рабочих элементов», задать для запроса Work Item Type = Release и выбрать связанные рабочие элементы, соответствующие запросу Work Item Type = Application Deployment. * 1005. *

Конечно, вы можете добавить другие фильтры запросов.

Это даст вам примерно следующий WIQL:

SELECT
    [System.Id], [System.WorkItemType], [System.Title],
    [System.AssignedTo], [System.State]
FROM WorkItemLinks WHERE
    (
        [Source].[System.TeamProject] = @project
        AND [Source].[System.WorkItemType] = 'Release'
        AND [Source].[System.State] <> ''
    )
    AND ([System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward')
    AND [Target].[System.WorkItemType] = 'Application Deployment'
ORDER BY [System.Id]
mode(Recursive)
...