Запрос рабочих элементов

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

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

Запросы можно создавать в Visual Studio Online, Team Web Access (TWA) или Team Explorer. Также можно открыть запрос в Excel или Project для выполнения массовых изменений.

Использование поля поиска для поиска рабочего элемента по идентификатору

Введите идентификатор в поле поиска рабочих элементов, затем выберите значок поиска.

Надпись "Поиск рабочих элементов"

С помощью контекстного меню Значок контекстного меню можно добавить фильтры к элементам списка на основе назначения, состояния, ключевого слова или типа рабочего элемента.

Например, введите A=@Me T=Task, чтобы перечислить все назначенные задачи.

Открытие и изменение запроса плоского списка

Самым простым способом определить запрос является запуск существующего общего запроса. В следующем примере показано, как найти все закрытые ошибки, изменив общий запрос "Активные ошибки", предоставляемый с шаблоном процессов Agile. Примеры основаны на пользовательском интерфейсе, предоставляемом через веб-браузер.

  1. Откройте общий запрос. Например, откройте "Активные ошибки" или аналогичный запрос плоского списка.

    Открытие общего запроса, например "Активные ошибки"

       

  2. Отредактируйте запрос для поиска закрытых ошибок, а затем выполните запрос. Используйте Добавление вложения (Вставить новую строку фильтра) для вставки предложения над текущим предложением. Используйте Удаление предложения (Удалить строку фильтра) для удаления предложения.

    Представление редактора запроса плоского списка

       

  3. Сохраните запрос в папку "Мои запросы".

    Сохранить запрос как, Папка=Мои запросы

       

    Для сохранения запроса в папке общих запросов необходимо быть администратором команды, членом группы администраторов проектов либо для данной папки для разрешений Участие должно быть установлено значение "Разрешить".

Создание запроса

Начните с меню Создать на странице запросов в TWA или на странице рабочих элементов в Team Explorer.

Открытие нового запроса

Группирование предложений для уточнения списка

Сгруппированные предложения работают как отдельная единица, изолированная от остального запроса. Это можно сравнить с заключением выражения в скобки в математическом уравнении или логическом выражении. Оператор И или ИЛИ, указанный для первого предложения в группе, применяется ко всей группе.

В следующем примере первое выражение возвращает рабочие элементы, имеющие приоритет 1, и все активные ошибки с любым приоритетом. Второе выражение возвращает все активные рабочие элементы с приоритетом 1 и все ошибки с приоритетом 1, вне зависимости от того, активны они или нет.

Сгруппированные предложения

Логическое выражение

Фильтр с использованием логического выражения или/и

Приоритет=1 ИЛИ (Тип рабочего элемента=Ошибка И Состояние=Активно)

Фильтр с использованием логического выражения и/или

Приоритет=1 И (Тип рабочего элемента=Ошибка ИЛИ Состояние=Активно)

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

Группирование выбранных предложений запросов

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

  • Проверьте каждое предложение и убедитесь, что все они определены надлежащим образом.

  • Проверьте назначения И/или для каждого предложения. Если в результатах содержится больше рабочих элементов, чем ожидалось, распространенной причиной является применение предложения Или вместо И.

  • Определите, требуется ли выполнять или изменять группировку предложений запроса и назначений операторов И/Или для каждого сгруппированного предложения.

  • Добавьте другие предложения запроса для уточнения условия фильтрации запроса.

  • Просмотрите доступные параметры и укажите поля, операторы и значения.

Используйте запрос дерева для просмотра иерархического списка

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

Список результатов, отражающих древовидный запрос

Разворачивайте (Свернуть узел (Team Web Access)) и сворачивайте (Развернуть узел (Team Web Access)) конечные узлы, чтобы сосредоточиться на различных частях дерева.

Определите условие фильтрации для родительских и дочерних рабочих элементов.

Фильтры запроса дерева

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

Использование запроса прямых ссылок для просмотра зависимостей

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

Результаты запроса прямых ссылок

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

Редактор запросов прямых ссылок

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

  • Возвращать только рабочие элементы с заданными связями: возвращаются рабочие элементы первого уровня, но только если они имеют связи с рабочими элементами, заданные критериями фильтрации связанных рабочих элементов.

  • Возвращать все рабочие элементы верхнего уровня: возвращаются все рабочие элементы первого уровня, вне зависимости от условия фильтрации связанных рабочих элементов. Все рабочие элементы второго уровня, связанные с первым уровнем, возвращаются в зависимости от условия фильтрации связанных рабочих элементов.

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

Вопросы и ответы

В. Какие операторы запросов и переменные можно использовать?

О. Операторы и переменные, доступные для выбора, зависят от выбранного поля. Четыре переменных — это @Project для поля имени проекта, @Me для полей личных имен, @Today для полей даты и времени и [Любой]. См. раздел Поля, операторы, значения и переменные запросов.

В. Какие существуют другие примеры запросов?

О. См. разделы Пример запросов рабочих элементов и Пример запросов в поле поиска.

В. Как отобразить результаты запроса в схеме?

О. В Visual Studio Online и TWA можно схематически представить результаты любого запроса плоского списка. Необходимо быть членом группы с расширенным доступом в TWA.

Кроме того, можно открыть запрос в Excel и использовать функции Excel для создания диаграммы.

В. Как автоматически обновить запросы на основе текущего спринта или итерации?

О. Автоматического способа не существует; необходимо вручную обновить запросы, чтобы они указывали на текущий спринт. Если командный проект основан на методике Scrum или Agile, в папках "Текущий спринт" или "Текущая итерация" содержится набор запросов. Чтобы каждый запрос возвращал элементы, определенные для текущего спринта, необходимо обновить путь итерации, чтобы он указывал на текущую итерацию в соответствии с датой.

Многие запросы можно изменить, сохранив их в виде WIQ-файлов. Откройте запрос в Team Explorer, выберите Изменить запрос, затем выберите Файл, Сохранить как, чтобы сохранить каждый запрос в виде WIQ-файла. Ниже приведен пример запроса выполняемой работы, обновленного для поддержки выпуска 2\спринта 59.

<?xml version="1.0" encoding="utf-8"?>
<WorkItemQuery Version="1">
  <Wiql>
    SELECT [System.Id],
           [System.WorkItemType],
           [System.Title],
           [System.AssignedTo],
           [System.State],
           [Microsoft.VSTS.Scheduling.RemainingWork],
    FROM WorkItems 
      WHERE [System.TeamProject] = @project and 
            [System.IterationPath] under 'FabrikamPrime\Release 2\Sprint 59' and 
            [System.WorkItemType] in group 'Microsoft.TaskCategory' and 
            [System.State] = 'In Progress' 
      ORDER BY [System.AssignedTo],
               [Microsoft.VSTS.Common.BacklogPriority],
               [System.Id] 
   </Wiql>
</WorkItemQuery>

В. Как добавить или изменить столбцы в списке результатов?

О. Откройте Параметры столбцов, чтобы добавить или удалить столбцы, изменить последовательность столбцов, а также изменить порядок сортировки в столбце.

Откройте вкладку "Столбцы" в диалоговом окне "Параметры столбца"

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

В. Можно ли фильтровать запрос с помощью тегов?

Ответ. Да, если вы используете Visual Studio Online или ваше локальное развертывание Team Foundation Server включает обновления из Team Foundation Server 2013 с обновлением 2. В противном случае — нет для локальных развертываний.

В Visual Studio Online и Visual Studio 2013 с обновлением 2 можно выбрать Теги как поле для фильтрации. Кроме того, можно открыть запрос в Excel и выполнить массовую замену тегов, назначенных рабочим элементам. Теги можно также добавлять к рабочим элементам с помощью TWA.

В подключаемом модуле Team Explorer для Eclipse можно фильтровать запросы по тегам, однако нельзя добавлять и изменять теги из пользовательского интерфейса. Для добавления и изменения тегов следует использовать веб-портал.

В локальных развертываниях Team Foundation Server без Team Foundation Server 2013 с обновлением 2 можно отображать теги в виде столбца в результатах запроса и фильтровать список на основе тега, но нельзя добавлять теги как предложение в условия фильтра.

В. Можно ли использовать результаты запроса для быстрого изменения связанных отношений?

Ответ. В подключаемом модуле Team Explorer для Visual Studio можно перетаскивать рабочие элементы, понижать (Отступ) или повышать (Повышение уровня) их уровень, тем самым изменяя иерархию.

Также можно открыть запрос в Excel или Project для массового изменения связей "родитель-потомок" и "предшественник-последователь".

В. Как не допустить изменения запроса, совместно используемого с командой?

О. Установите разрешения на запрос, разрешив доступ только на чтение.

В. Как добавить запрос в общие запросы или в качестве избранного (командного)?

О. Чтобы сохранить запрос в папку «Общие запросы», вам необходимо быть членом группы администраторов проекта или иметь разрешения для доступа к папке в папке «Общие запросы».

Чтобы добавить запрос в избранное команды, откройте контекстное меню Значок контекстного меню запроса и добавьте его в избранное команды. Для добавления запросов в избранное (командное) необходимо быть администратор команды.

В избранное команды можно добавлять только общие запросы и только при наличии разрешений администратора команды.

В. Можно ли добавлять папки в командное избранное?

О. Нет. Папки можно добавлять только в разделы Мои запросы и Общие запросы.

В. Можно ли отправить запрос по эл. почте?

Ответ. Да. См. раздел Отправка URL-адресов ссылок на рабочие элементы и запросы TFS по электронной почте.

В. Можно ли определить гиперссылку, которая открывает запрос?

Ответ. Да. Самым простым способом определить гиперссылку является создание запроса, который соответствует всем нужным требованиям, а затем копирование URL-адреса этого запроса. Гиперссылка использует язык запросов рабочих элементов (WIQL), который напоминает Transact-SQL и соответствует этому синтаксису:

**http://ИмяСервера:**Порт/ /tfs/ИмяКоллекции/ИмяКомандногоПроекта/**q.aspx?pname=Проект&wiql=**ЯзыкЗапросовРабочихЭлементов

Например, следующая гиперссылка выводит список идентификаторов, названий и состояний всех ошибок с номером сборки 9.0.30304, определенных для проекта AdventureWorksProject.

http://AdventureWorks:8080/tfs/ /q.aspx?pname=AdventureWorksProject&wiql==SELECT [System.ID], [System.Title], [System.State] FROM WorkItems WHERE [System.TeamProject]='AdventureWorksProject' AND [System.WorkItemType]='Bug' AND [System.FoundIn]='9.0.30304' http://Server1:8091/tfs/web/wi.aspx?id=9035

В. Можно ли экспортировать запрос?

Ответ. Да. В редакторе запросов в Team Explorer с помощью меню "Файл" сохраните запрос как WIQ-файл. При создании командного проекта создаются совместно используемые запросы на основе файлов WIQ, указанных в шаблоне процесса.

Вопрос. Почему содержимое доски задач отличается от содержимого созданного запроса?

О. Задачи могут быть назначены итерации, но не быть связанными с родительским элементом невыполненной работы. Такие задачи будут отображаться в созданном запросе, но не будут отображаться на самой доске задач. Перед отображением элементов на доске задач TFS выполняет запрос, а затем несколько фоновых процессов.

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

  • Задача не была связана с родительским элементом невыполненной работы. На странице невыполненной работы спринта будут отображаться только те ошибки и задачи, которые вы связали с родительским элементом невыполненной работы (Scrum), пользовательской Историей (Agile) или требованием (CMMI), в качестве пути итерации которых указан спринт.

  • Задача является родительской для другой задачи. При создании иерархии задач отображаются только задачи дочернего уровня внизу иерархии.

  • Связанный родительский объект задачи соответствует элементу невыполненной работы, определенному для другой команды. Или же путь области родительского элемента невыполненной работы задачи отличается от пути к области задачи.

В. Можно ли запрашивать рабочие элементы программными средствами?Можно ли создать динамический запрос?

Ответ. Да. См. раздел Запрос ошибок, задач и прочих рабочих элементов.

См. также

Основные понятия

Выбор клиента Team Foundation для поддержки требуемых задач