Запрос по назначению или изменению рабочего процесса в Azure Boards

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Состояния в рабочем процессе поддерживают отслеживание состояния работы при переходе из нового состояния в закрытое или готовое состояние. Поля запросов поддерживают отслеживание состояния работы при переходе из одного столбца или пловки на другой на доске.

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

Большинство рабочих элементов перемещаются из нового, активного или предлагаемого состояния в состояние "Готово" или "Закрыто". Так как каждый рабочий элемент перемещается из одного состояния в другое, элемент также может быть переназначен различным членам команды. Например, тестировщик может создать ошибку, назначенную другому участнику команды во время выполнения проверки. Когда другой участник команды разрешает ошибку, он переназначится тестировщику, который создал его.

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

Редактор запросов фильтр для повторно активированных элементов.

Вы также можете использовать поля "Активированные по и активированной дате" или другие поля рабочего процесса.

Совет

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

Если вы не знакомы с созданием запросов, ознакомьтесь с редактором запросов для перечисления запросов и управления ими.

Поддерживаемые операторы и макросы

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


Тип данных

Поддерживаемые операторы и макросы


Логический 1

= , <> , =[Field] , <>[Field]


DateTime

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
Макросы: @Today@Today +/- n допустимые с любым полем DateTime


Identity

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was EverМакросы: @Me допустимы для всех полей удостоверений


Один текст (строка) 2

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was Ever


In Not In Используйте операторы для фильтрации или исключения двух или более записей списка выбора или набора элементов с разделителями. In Group Not In Group Используйте операторы для фильтрации элементов, принадлежащих или не принадлежащих к группе категорий или группе безопасности. Дополнительные сведения см. в полях запросов, операторах и макросах.

Шаблон даты и времени

Шаблон даты и времени, который вы вводите для полей DateTime , должен совпадать с выбранным профилем. Чтобы просмотреть или изменить выбранный вариант, см. раздел "Настройка параметров пользователя".

Снимок экрана: параметры раскрывающегося списка Снимок экрана: параметры раскрывающегося списка

Снимок экрана: панель

Запросы на основе удостоверений

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

Используется = для поиска текущих назначений, Was Ever перечисления элементов на основе прошлых назначений и @Me области для удостоверения пользователя.

Фильтр для

Включить эти предложения запросов


Активные элементы, назначенные мне

Assigned To @Me
And State = Active

Закрытые элементы, которые в какой-то момент были назначены мне

Assigned To Was Ever @Me
And State = Closed

Активные истории пользователей, назначенные веб-команде

Work Item Type = User Story
And State = Active
And Assigned To In Group [FabrikamFiber]\Web

Элементы, измененные за последние 30 дней

Changed By = @Me And Changed Date >= @Today-30

Неназначенные элементы (оставьте значение пустым)

Assigned To = _


Запросы на членство в группах или группах

Чтобы отфильтровать элементы, назначенные кому-то, кто принадлежит группе или группе безопасности, используйте оператор In Group .

Снимок экрана: Редактор запросов, фильтр на основе назначения группе безопасности.

Операторы In Group или Not In Group можно использовать для фильтрации запроса на основе нескольких значений, являющихся членами группы или не являющихся членами группы. Примеры групп, которые можно указать, включают следующие элементы:

  • Teams
  • Встроенные и настраиваемые группы безопасности
  • Идентификатор Microsoft Entra и группы безопасности Active Directory
  • Категории рабочих элементов

Запросы на основе изменений рабочего процесса

Поля "Состояние", "Причина" и "Устраненная причина" используются для запроса элементов на основе изменений рабочего процесса.

Фильтр для

Включить эти предложения запросов


Устраненные истории

Work Item Type = User Story
And State = Resolved

Истории, ошибки и задачи, которые являются новыми или активными

Work Item Type In User Story,Bug,Task
And State In New,Active

Элементы удалены по мере их дублирования

State= Removed
And Reason = Duplicate

Элементы, которые завершаются сбоем приемочных тестов

Resolved Reason = Acceptance tests fail

Элементы закрыты за последние 15 дней

State = Closed
And Closed Date > @Today-15


Изменения рабочего процесса и запросы на основе удостоверений

Вы можете быстро найти элементы, которые были изменены, разрешены или закрыты. Вы также можете найти элементы, измененные другими участниками команды. В зависимости от изменений рабочего процесса заполняются несколько полей, таких как "Создано", "Изменено по", "Разрешено" и "Закрытый".

Фильтр для

Включить эти предложения запросов


Истории пользователей, которые я закрыл

Work Item Type = User Story
And Closed By = @Me

Элементы, которые я разрешал на прошлой неделе

Resolved By = @Me
And Resolved Date >= Today-7


Изменение запроса в состоянии рабочего элемента

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

Снимок экрана: Редактор запросов, фильтрация полей даты изменения состояния и состояния.

Запрос изменений в доске

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

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

Снимок экрана: Редактор запросов, фильтрация в полях column и Board Lane.

Примечание.

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

Фильтр для

Включить эти предложения запросов


Пользовательские истории в столбце Code/Doing

Work Item Type = User Story
And Board Column = Code
And Board Column Done = False

Элементы в ускоряемой дорожке

Board Lane = Expedite

Элементы в любой дорожке, метка которой содержит "Test"

Board Lane Contains Test

Элементы, которые когда-либо находились в столбце "In Review"

Board Column Was Ever In Review


Внимание

Рабочие элементы, которые отображаются на нескольких советах команды, могут дать результаты, которые не соответствуют вашим ожиданиям, потому что каждая команда может настроить свои столбцы доски и пловки. Значения, назначенные полям Board Column, Board Column Done и Board Lane, могут отличаться от того, что ожидается, когда другая команда обновляет рабочий элемент с другой доски. Дополнительные сведения см. в статье "Добавление, проверка и обновление рабочих элементов" в Azure Boards.

Поля рабочего процесса и доски

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

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

Имя поля

Description

Тип рабочего элемента


Активировано 1, 2, 3

Имя члена группы, изменившего состояние рабочего элемента на состояние категории "Ход выполнения ".

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

Имя ссылки=Microsoft.VSTS.Common.ActivatedBy
Data type=String (Identity)

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

Дата активации 1, 3

Дата и время изменения рабочего элемента на состояние категории "Ход выполнения ".

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

Имя ссылки=Microsoft.VSTS.Common.ActivatedDate
Тип данных=DateTime

Все

Назначено 2

Назначено 2, 3, 4

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

Имя ссылки=System.AssignedTo
Data type=String (Identity)

Все

Столбец доски

Текущее назначение столбца доски рабочего элемента, например "Активный", "Закрытый", "Зафиксировано", "Готово" или другое назначение настраиваемых столбцов.

Имя ссылки=System.BoardColumn
Тип данных=String

Категория требований 4

Категория требований 5

Столбец Board Done

Текущее назначение рабочего элемента столбцу "Выполнение" (False) или "Готово" (True). Назначается только при включении разделенных столбцов для столбца доски.

Имя ссылки=System.BoardColumnDone
Тип данных=Boolean

Категория требований 4

Категория требований 5

Доска Лейн

Текущее назначение пловцовой дорожки рабочего элемента, например по умолчанию, ускорение, блокировка или другое назначение пользовательских пловцов. Имя ссылки=System.BoardLane
Тип данных=String

Категория требований 4

Категория требований 5

Закрыто 1, 2

Закрыто 1, 2, 3

Имя члена команды, задавшего состояние закрытым, завершенным или выполненным.

Имя ссылки=Microsoft.VSTS.Common.ClosedBy
Data type=String (Identity)

Все

Дата закрытия

Дата и время закрытия рабочего элемента.

Имя ссылки=Microsoft.VSTS.Common.ClosedDate
Тип данных=DateTime

Все

Создано 1, 2

Создано 1, 2, 3

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

Имя ссылки='System.CreatedBy.
Data type=String (Identity)

Все

Дата создания

Дата и время создания рабочего элемента.

Имя ссылки=System.CreatedDate
Тип данных=DateTime

Все

Причина

Причина 3, 4

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

Имя ссылки=System.Reason
Тип данных=String

Все (кроме тестового дела и общих шагов)

Разрешено 1, 2

Разрешено 1, 2, 3

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

Имя члена группы, изменившего состояние рабочего элемента на разрешенное или готовое состояние рабочего процесса.

Имя ссылки=Microsoft.VSTS.Common.ResolvedBy, тип данных=String (Identity)

Все

Дата разрешения

Разрешенная дата 1, 2

Дата и время изменения рабочего элемента на состояние разрешенной категории.

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

Имя ссылки=Microsoft.VSTS.Common.ResolvedDate, тип данных=DateTime

Все

Устраненная причина

Устраненная причина 3

Причина разрешения рабочего элемента. Например, история пользователя завершена или исправлена ошибка. Это поле доступно только для чтения и допустимо только для типов рабочих элементов Agile и CMMI.

Имя ссылки=Microsoft.VSTS.Common.ResolvedReason
Тип данных=String

All (Agile, CMMI)

Просмотр по

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

Имя ссылки=Microsoft.VSTS.Common.ReviewedBy
Data type=String (Identity)

Ответ на проверку кода

Штат

Состояние 3, 4

Текущее состояние рабочего элемента. Это поле позволяет обновить состояние рабочего элемента по мере выполнения из нового или активного в состояние готового или закрытого.

Сведения об изменении состояний рабочего процесса см. в разделе "Настройка рабочего процесса".

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

Имя ссылки=System.State
Тип данных=String

Все

Дата изменения состояния

Дата и время изменения значения поля State.

Имя ссылки=Microsoft.VSTS.Common.StateChangeDate
Тип данных=DateTime

Все

Примечание.

  1. См . поля даты и удостоверения.
  2. По умолчанию сервер синхронизирует системные поля имени пользователя или удостоверения с идентификатором Active Directory или Microsoft Entra. К этим полям относятся: активировано, назначено, закрыто, создано и разрешено. Вы можете предоставить доступ к проекту, добавив группы безопасности, созданные в Active Directory или идентификаторе Microsoft Entra, или добавив учетные записи в существующие или настраиваемые группы, определенные на странице "Безопасность коллекции". См. сведения о настройке Идентификатора Active Directory или Microsoft Entra.
  3. См . поля "Активированные по даты" и "Дата" и "Разрешенные по дате".
  4. Категория требований применяется ко всем типам рабочих элементов, которые отображаются в невыполненной работе продукта и доске, и могут включать их в категорию ошибок на основе параметра команды для отображения ошибок на досках и невыполненных работах. Дополнительные сведения о категориях типов рабочих элементов см. в разделе "Использование категорий для группирования типов рабочих элементов".

Примечание.

Даже если вы добавляете поле, связанное с досками, например Board Column или Board Lane, в форму рабочего элемента, вы не можете изменить поле из формы.

  1. См . поля даты и удостоверения.

  2. По умолчанию сервер синхронизирует системные поля имени пользователя или удостоверения с идентификатором Active Directory или Microsoft Entra. К этим полям относятся: активировано, назначено, закрыто, создано и разрешено. Вы можете предоставить доступ к проекту, добавив группы безопасности, созданные в Active Directory или идентификаторе Microsoft Entra, или добавив учетные записи в существующие или настраиваемые группы, определенные на странице "Безопасность коллекции". См. сведения о настройке Идентификатора Active Directory или Microsoft Entra.

    Для локальных развертываний можно включить или отключить синхронизацию для поля имени пользователя с помощью средства командной строки witadmin changefields . Вы также можете синхронизировать настраиваемые поля имени пользователя, указав атрибут syncnamechanges . См . статью "Управление полями рабочих элементов" и справочником по элементу FIELD (Definition).

  3. Отчетируемое поле с атрибутом, заданным для измерения. Допустимо только в том случае, если коллекция настроена для поддержки локальной модели XML. Отчетируемые данные экспортируются в хранилище данных и могут быть включены в отчеты Excel или SQL Server. Для локальной среды Azure DevOps используйте команду witadmin changefield , чтобы изменить отчетируемый атрибут для поля.

  4. Индексированные поля. Включение индексирования для поля может повысить производительность поиска рабочих элементов, запросы которых указывают это поле. Для локальной среды Azure DevOps используйте команду witadmin indexfield, чтобы изменить атрибут индекса для поля.

  5. Категория требований применяется ко всем типам рабочих элементов, которые отображаются в невыполненной работе продукта и доске. Категория включает эти элементы, добавленные в категорию ошибок на основе параметра команды для отображения ошибок на досках и невыполненных работах. Дополнительные сведения о категориях типов рабочих элементов см. в разделе "Использование категорий для группирования типов рабочих элементов".

Примечание.

Даже если вы добавляете поле, связанное с досками, например Board Column или Board Lane, в форму рабочего элемента, вы не можете изменить поле из формы.

Выбор людей

Поле "Назначенный кому" поддерживается функцией выбора людей. Например, при выборе поля "Назначенный кому" в форме рабочего элемента активируется средство выбора людей. Как показано на следующем рисунке, вы просто начинаете вводить имя пользователя, которого вы хотите выбрать, и выполните поиск, пока не найдете совпадение. Пользователи, выбранные ранее, отображаются в списке автоматически. Чтобы выбрать пользователей, которые вы ранее не выбрали, введите полное имя или поиск по полному каталогу.

Снимок экрана: класс <span= средство @mention в обсуждении, показывающее средство выбора людей". />

Для организаций, которые управляют своими пользователями и группами с помощью идентификатора Microsoft Entra ID или Active Directory, средства выбора людей обеспечивают поддержку поиска всех пользователей и групп, добавленных в AD, а не только тех пользователей и групп, добавленных в проект.

Чтобы ограничить область удостоверений, доступных для выбора только тех пользователей, которые добавлены в проект, можно сделать это с помощью группы "Пользователи с областью проекта". Дополнительные сведения см. в разделе "Управление организацией", "Ограничить поиск удостоверений" и "Выбор".

Поля даты и удостоверения

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

Шаблон даты и времени

Шаблон даты и времени, который вы вводите для полей DateTime , должен совпадать с выбранным профилем. Чтобы просмотреть или изменить выбранный вариант, см. раздел "Настройка параметров пользователя".

Снимок экрана: параметры раскрывающегося списка Снимок экрана: параметры раскрывающегося списка

Снимок экрана: панель

Изменения состояний

В следующем примере синтаксиса XML показаны правила, которые могут быть определены для типа рабочего элемента, который управляет значениями для выбранных полей. Здесь для полей "Разрешенная дата", "Разрешенная по", "Закрытая дата", "Активированная дата" и "Активированная по", если EMPTY для значения состояния задано значение "Создать". Сначала вычисляются назначения значений состояния, а затем вычисляются переходные назначения.

   <WORKFLOW>
      <STATES>
        <STATE value="New">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="Active">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ResolvedReason">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="Resolved">
          <FIELDS>
            <FIELD refname="Microsoft.VSTS.Common.ClosedDate">
              <EMPTY />
            </FIELD>
            <FIELD refname="Microsoft.VSTS.Common.ClosedBy">
              <EMPTY />
            </FIELD>
          </FIELDS>
        </STATE>
        <STATE value="Closed" />
      </STATES>

Активированные и активированные назначения перехода даты

При выполнении следующих переходов для рабочего элемента ошибки в полях "Активированная дата" и "Активированная дата" выполняются следующие назначения:

<TRANSITION from="" to="New">
<TRANSITION from="New" to="Active">
<TRANSITION from="New" to="Resolved">
<TRANSITION from="New" to="Closed">
<TRANSITION from="Resolved" to="Active">
<TRANSITION from="Closed" to="Active">
<FIELDS>
   <FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
       <COPY from="currentuser" />
           <VALIDUSER />
           <REQUIRED />
    </FIELD>
    <FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
        <SERVERDEFAULT from="clock" />
   </FIELD>
</FIELDS>

И при выполнении следующих переходов для рабочего элемента ошибки:

<TRANSITION from="Active" to="New">
<TRANSITION from="Active" to="Closed">
<TRANSITION from="Resolved" to="Closed">

Затем для полей "Активированная дата" и "Активированная дата" задано значение READONLY.

<FIELD refname="Microsoft.VSTS.Common.ActivatedDate">
   <READONLY />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ActivatedBy">
   <READONLY />
</FIELD>

Активированы поля "По даты" и "Дата" и "Разрешено по дате"

Система обновляет эти поля— активированная по дате, активированной дате, разрешенной дате и разрешенной дате— при изменении на основе соответствующих состояний категории рабочего процесса. При изменении состояния рабочего процесса в категорию состояния "Ход выполнения" обновляется дата активации и активации. Когда состояние рабочего процесса изменяется на категорию разрешенных состояний, обновляется разрешенная дата и дата разрешения.

Дополнительные сведения о сопоставлении состояний рабочего процесса с категориями состояний см. в статье "Как состояния рабочего процесса и категории состояний используются в невыполненных работах и досках".

Примечание.

Логика, управляющая полями, описанными здесь, применяется к Azure DevOps Services, обновлению Azure DevOps Server 2020.1 и более поздним версиям.

Так как эти поля ссылаются на категории состояния рабочего процесса, настраиваемые рабочие процессы ссылаются на добавленные при обновлении полей. Дополнительные сведения о настройке см. в разделе "Настройка рабочего процесса".

Дополнительные примечания:

  • Поля обновляются в любое время, когда рабочий элемент перемещается из любого состояния категории, отличного от заданного. Например, если вы обновляете рабочий элемент с нового на исправленное, то обновляются поля "Разрешенные даты" или "Разрешенная дата ". Однако при обновлении с фиксированного и готового к тестированию (которые находятся в том же состоянии категории), поля "Разрешенная дата" или "Разрешенная дата " не обновляются.
  • При переходе назад, например переход от разрешенного к активному состоянию, система очищает значения полей "Разрешенные по/разрешенной дате". Если вы получили от "Активный к новому", система очищает значения для полей "Активированная дата" или "Активированная дата ".
  • Не изменяйте значения этих полей вручную. Это системные поля, которые управляются системными правилами. Любое значение, которое вы пытаетесь задать, перенаписывается.

REST API

Сведения о программном взаимодействии с запросами см. в одном из следующих ресурсов REST API: