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


Запрос по заголовкам, идентификаторам и полям с форматированным текстом в Azure Boards и Azure DevOps

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

Если вы хотите найти рабочие элементы на основе ключевого слова или фразы или пустого текстового поля, это можно сделать, отфильтровав однострочный текст (String), многострочный текст (PlainText) и поля с форматированным текстом (HTML). Если вы обнаружите, что запросы слишком долго возвращают результаты, см. статью "Создание запроса или рекомендации".

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

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


Тип данных

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


Форматированный текст (HTML)
Многострочный текстовые строки (PlainText)

Contains Words, Does Not Contain WordsIs Empty1, Is Not Empty1


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

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was EverМакросы: [Any]допустимые с полем "Тип рабочего элемента" и@Project 2, допустимые с полем командного проекта.


ИД

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was EverМакросы: @Follows, @MyRecentActivity@RecentProjectActivity @RecentMentionsдопустимые с полем идентификатора и In Not In операторами @Project2, допустимые с полем командного проекта.


Поля типа "Состояние " и "Рабочий элемент"

= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], , Содержит не содержится, в, , группе, а не в группе, , , когда-либо **Macros**: [любой]' действителен с обоими полями.


Примечание.

  1. Is Not Empty Операторы Is Empty поддерживаются для Azure DevOps Server 2019 RC2 и более поздних версий.
  2. Система автоматически использует фильтрацию на основе текущего проекта. Дополнительные сведения см. в разделе Запросы между проектами.

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

Если вы хотите фильтровать по строковой строке, попробуйте использовать Contains Words оператор вместо Containsэтого. Оператор Contains Words выполняет полнотекстовый поиск по указанному полю, что в большинстве случаев быстрее. Текстовая строка ограничена 100 символами.

Contains Хотя оператор выполняет проверку таблицы, которая не только медленнее, но и потребляет больше циклов ЦП. Эти циклы ЦП способствуют ограничению скорости использования ресурсов.

Примечание.

Оператор Contains Words использует полнотекстовый индексирование поиска SQL. При сохранении нового значения в длиннотекстовом поле SQL Server:

  • Разделение фразы на отдельные слова
  • Удалите все распространенные слова, которые действительно не добавляют значение в поиск (например, "a" или "is" на английском языке)
  • Преобразуйте слова в их общий стебли (например, бег, бег и бегун преобразуются в "run", так как они все варианты этого слова)
  • Сохраните эти уникальные ключевые слова в индексе.

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

Запрос ключевых слов или фраз с подстановочными знаками

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

Редактор для запроса неструктурированного списка для фильтрации ключевых слов.

Выберите "Содержит" или "Не содержит", чтобы искать точные или частичные совпадения слова или фразы. Выберите "Содержит слова" или "Не содержит слова" для поиска по точной фразе или для использования подстановочного знака *. Эти операторы используют полнотекстовый индекс поиска.

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

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

Совет

Чтобы понять, как AND/OR группируются предложения, см. статью "Создание и сохранение управляемых запросов", предложений групп. Чтобы просмотреть синтаксис WIQL для запроса, установите расширение редактора запросов WIQL, которое позволяет просмотреть версию WIQL любой записи редактора запросов.

Запрос для определенных слов, а не других

Используйте операторы "Слова" и "Не содержит слов" для перечисления элементов, которые точно соответствуют словам или фразе, которые вы вводите, и исключите другие слова или фразы. Эти операторы можно использовать в сочетании и с подстановочным символом (*).

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

Снимок экрана: Редактор запросов включения и исключения точных слов.

Неопределенные запросы значений поля

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

Фильтрация на основе пустых записей

Чтобы вывести список рабочих элементов на основе поля, которое не является пустым, используйте оператор <> not и оставьте значение пустым.

Пустые или не пустые запросы полей HTML

Рабочие элементы можно найти с пустыми описаниями. Использование поля "Пустое" или "Не пустое" с html-полем поддерживает перечисление рабочих элементов с пустыми или пустыми полями форматированного текста. Значение этого оператора не указано.

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

Непустые поля HTML на основе фильтра

Фильтрация для специальных символов

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

  • Фильтрация по URL-адресу: поиск заголовка рабочего элемента, включающего фразу https://example.com/path-to-resource.

    • Запрос: Title ~ "https:\/\/example.com\/path-to-resource"
    • Результаты. Возвращает все рабочие элементы с точным URL-адресом в указанном поле.
  • Фильтрация фразы с тире: поиск заголовка рабочего элемента, который включает в себя "your-phrase-with-dash".

    • Запрос: Title ~ "feature-update\-2023"
    • Результаты. Возвращает все рабочие элементы, содержащие точную фразу с дефисами в указанном поле.

Примечание.

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

Запросы на основе категорий

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

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

Какие элементы отображаются в категориях "Требование" или "Задача"?

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

Обработка Категория обязательных требований Категория задач
Базовая Проблема Задача
Гибкая методика (Agile) Пользовательская история Задача
Scrum Элемент невыполненной работы продукта, ошибка Задача
CMMI Требование Задача

Каждая команда может определить, отображается ли тип рабочего элемента ошибки в категории "Требование" или "Задача". См. статью "Показать ошибки в невыполненных работах и досках". В невыполненную работу можно добавить настраиваемые типы рабочих элементов. Дополнительные сведения см. в разделе "Добавление или изменение типа рабочего элемента", добавление пользовательского WIT в невыполненную работу или доску.

Запрос на выполнение следующих рабочих элементов

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

Например, следующий запрос показывает, как запрашивать все проекты для активных рабочих элементов, которые вы используете. Вы используете поле идентификатора и оператор In с макросом @Follows .

Редактор запросов с предложением запроса id In @Follows

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

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

  • @MyRecentActivity. Список элементов, которые вы недавно просматривали или изменили.
  • @RecentMentions: элементы списка, которые вы добавили через @mention за последние 30 дней.
  • @RecentProjectActivity. Список элементов, недавно созданных или измененных в проекте.

Укажите поле идентификатора и операторы In или Not In.

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

Редактор запросов с предложением запроса id In @MyRecentActivity

Общие поля для большинства типов рабочих элементов

В следующей таблице описываются общие поля, используемые для фильтрации запросов. Поля идентификатора однозначно определяют рабочие элементы в списке. Используйте поле "Заголовок", чтобы отличить рабочий элемент от всех остальных одного типа. Поля Description и другие поля с форматированным текстом (типом данных=HTML) предоставляют дополнительные сведения, необходимые для реализации рабочих и отслеживания изменений. После создания рабочего элемента можно изменить все поля, кроме идентификатора. При добавлении и сохранении рабочего элемента идентификатор назначается системой и не может быть изменен.

Примечание.

Система автоматически индексирует все длинные текстовые поля с типом данных обычного текста и HTML-полями для полнотекстового поиска. К ним относятся поля Title, Description и Steps to Repro . Дополнительные сведения и требования к параметрам сервера и параметров сортировки, применимые к локальной среде Azure DevOps, см. в полях запросов, операторах, значениях и переменных — полнотекстовом и частичном поиске слов.

Имя поля

Description

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


Критерии принятия 1

Описание критериев, которые необходимо выполнить до закрытия элемента невыполненной работы продукта или ошибки.

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

Ссылочное имя=Microsoft.VSTS.Common.AcceptanceCriteria, тип данных=HTML

Ошибка, Epic, Feature, Product backlog item (Scrum)

Описание 1, 2

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

Эталонное имя=System.Description, тип данных=HTML

Все

ID

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

Reference name=System.Id, Data type=Integer

Все

Шаги повторного воспроизведения (или шаги для воспроизведения) 1

Действия, необходимые для воспроизведения неожиданного поведения. Захват достаточной информации, чтобы другие участники команды могли понять полный эффект проблемы и исправили ли они ошибку. Эта запись включает действия, выполняемые для поиска или воспроизведения ошибки и ожидаемого поведения.
Эталонное имя=Microsoft.VSTS.TCM.ReproSteps, тип данных=HTML

Ошибка

Разрешение

Описывает, как было решено препятствие.

Эталонное имя=Microsoft.VSTS.Common.Resolution, тип данных=HTML

Препятствия (Scrum)

Системная информация1

Сведения о конфигурации программного обеспечения и системы, относящуюся к ошибке, проверке кода или отзыву.

Эталонное имя=Microsoft.VSTS.TCM.SystemInfo, тип данных=HTML

Ошибка, запрос на проверку кода, запрос обратной связи

Проект рабочей группы

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

Эталонное имя=System.TeamProject, тип данных=String

Все

Заголовок

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

Reference name=System.Title, Data type=String

Все

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

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

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

Reference name=System.WorkItemType, Data type=String

Все

Примечание.

После обновления до Team Foundation Server 2012 поле "Описание" было изменено с типа поля PlainText на HTML. С помощью команды witadmin changefield можно вернуть тип данных для этого поля. См. раздел "Управление полями рабочих элементов" (witadmin).

REST API

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