Поделиться через


Определение запроса рабочего элемента для добавления в шаблон процесса

Создавать файлы запросов рабочих элементов (WIQ) в Team Explorer очень легко. В имеющемся командном проекте можно с помощью Team Explorer создать все запросы рабочих элементов, которые требуется добавить в шаблон процесса, после чего выполнить приведенные в этом разделе инструкции, чтобы сохранить каждый запрос в виде WIQ-файла. Дополнительные сведения о том, как создавать запросы рабочих элементов, см. в разделе Запрос рабочих элементов.

Требования

  • Для создания запроса необходимо быть членом группы Читатели, либо разрешение Просмотр рабочих элементов на этом узле должно иметь значение Разрешить для каждого командного проекта в запросе.

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

Сохранение запроса рабочего элемента в WIQ-файле

  1. В Team Explorer откройте запрос, который требуется сохранить.

  2. В меню Файл выберите команду Сохранить <имя запроса> [запрос] как.

  3. В диалоговом окне Сохранить запрос как выберите Файл и укажите расположение и имя WIQ-файла. Другой вариант — нажать кнопку Обзор, указать имя файла, перейти к расположению, где требуется его сохранить, и нажать кнопку Сохранить.

  4. Скопируйте файл в папку \WorkItem Tracking\Queries, расположенную в папке, в которую был загружен шаблон процесса.

  5. Откройте WIQ-файл в текстовом редакторе.

  6. Удалите элементы <TeamFoundationServer> и <TeamProject>, связывающие запрос с конкретным сервером, на котором работает Visual Studio Team Foundation Server, и конкретным командным проектом, как показано в следующем примере.

    <TeamFoundationServer>CollectionURL</TeamFoundationServer>
    <TeamProject>ProjectName</TeamProject>
    

    Примечание

    Вы должны отредактировать WIQ-файл в текстовом редакторе и удалить элементы <TeamFoundationServer> и <TeamProject>, которые связывают запрос с конкретным сервером и командным проектом.В противном случае запрос не будет работать корректно, если отправить шаблон процесса на другой сервер.Другой вариант — использовать, где это возможно, макросы, чтобы запрос не содержал в явном виде имени текущего командного проекта или других значений, определяющих конкретную среду.

  7. Удалите все дополнительные элементы, относящиеся к конкретному пользователю.

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

Можно определить запрос, ссылающийся на конкретный путь итерации, включив в него макрос для командного проекта ($$PROJECTNAME$$) и имя пути итерации, определенное в файле подключаемого модуля Classification. Например, следующий синтаксис задает запрос, включающий только те рабочие элементы, путь итерации которых указывает на итерацию 1.

AND  [Source].[System.IterationPath] UNDER '$$PROJECTNAME$$\Iteration 1'

При создании командного проекта макрос заменяется именем командного проекта.

С помощью этого макроса можно определять книги, ссылающиеся на конкретные пути итераций. Шаблон процесса MSF для гибкой разработки программного обеспечения содержит запрос по итерации Iteration1Backlog.wiq, который поддерживает книгу невыполненной работы по итерации Iteration Backlog.xlsm.

При передаче запросов для конкретных итераций задача обработки файла Classification.xml должна выполняться перед задачей обработки файлов запросов. Дополнительные сведения см. в разделах Определение начальных областей и итераций в подключаемом модуле классификации и Определение корневого элемента tasks с помощью файла подключаемого модуля шаблона процесса.

Пример запроса рабочего элемента для конкретной итерации

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

<?xml version="1.0" encoding="utf-8"?>
<WorkItemQuery Version="1">
  <Wiql>
    SELECT [System.Id],
           [System.WorkItemType],
           [System.Title],
           [System.State],
           [System.AssignedTo],
           [Microsoft.VSTS.Scheduling.RemainingWork],
           [Microsoft.VSTS.Scheduling.CompletedWork],
           [Microsoft.VSTS.Scheduling.StoryPoints],
           [Microsoft.VSTS.Common.StackRank],
           [Microsoft.VSTS.Common.Priority],
           [Microsoft.VSTS.Common.Activity],
           [System.IterationPath],
           [System.AreaPath]
      FROM WorkItemLinks
     WHERE (Source.[System.TeamProject] = @project 
       AND  [Source].[System.AreaPath] UNDER @project
       AND  [Source].[System.IterationPath] UNDER '$$PROJECTNAME$$\Iteration 1'
       AND (
               Source.[System.WorkItemType] = 'User Story' 
            OR Source.[System.WorkItemType] = 'Task'
           )
           )
       AND [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
       AND [Target].[System.WorkItemType] = 'Task'
       ORDER BY [Microsoft.VSTS.Common.StackRank], [Microsoft.VSTS.Common.Priority]
       mode(Recursive)
  </Wiql>
</WorkItemQuery>

Справка по элементу WorkItemQuery

Ниже показана синтаксическая структура элемента WorkItemQuery и его дочерних элементов.

<WorkItemQuery Version="1">
   <TeamFoundationServer>collectionURL </TeamFoundatonServer>
   <TeamProject>TeamProjectName </TeamProject>
   <Wiql>
      WorkItemQueryLanguage
   </Wiql>
</WorkItemQuery>

Элемент

Синтаксис

Описание

TeamFoundationServer

<TeamFoundationServer>collectionURL
</TeamFoundatonServer>

Необязательный дочерний элемент элемента WorkItemQuery.

Важно!

В общем случае этот элемент удаляется из запросов, добавляемых в шаблоны процессов.

Задает универсальный код ресурса (URI) коллекции командных проектов в следующем формате:

http://ИмяСервера:Порт/ИмяВиртуальногоКаталога/ИмяКоллекции

Если виртуальный каталог не используется, следует использовать универсальный код ресурса (URI) в следующем формате:

http://ИмяСервера:Порт/ИмяКоллекции

Атрибут имеет тип ServerNameType и максимальную длину 2047.

TeamProject

<TeamProject>TeamProjectName</TeamProject>

Необязательный дочерний элемент элемента WorkItemQuery.

Важно!

В общем случае этот элемент удаляется из запросов, добавляемых в шаблоны процессов.

Задает командный проект, для которого выполняется запрос.

Атрибут имеет тип ProjectNameType и максимальную длину 255 знаков.

Wiql

<Wiql>WorkItemQueryLanguage</Wiql>

Обязательный дочерний элемент элемента WorkItemQuery.

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

В шаблонах процессов MSF имеется несколько примеров команд SQL, поддерживаемых элементом Wiql. Эти файлы расположены в подпапке Queries папки WorkItem Tracking.

См. также

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

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

Определение объектов для отслеживания рабочих элементов с помощью подключаемого модуля отслеживания рабочих элементов