Запрос по заголовкам, идентификаторам и полям с форматированным текстом в 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 Words
Is Empty
1, Is Not Empty
1
Один текст (строка)
= , <> , > , < , >= , <= , =[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
операторами @Project
2, допустимые с полем командного проекта.
Поля типа "Состояние " и "Рабочий элемент"
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field],
,
Содержит не содержится,
в,
,
группе, а не в группе,
,
, когда-либо **Macros**:
[любой]' действителен с обоими полями.
Примечание.
Is Not Empty
ОператорыIs Empty
поддерживаются для Azure DevOps Server 2019 RC2 и более поздних версий.- Система автоматически использует фильтрацию на основе текущего проекта. Дополнительные сведения см. в разделе Запросы между проектами.
Использование 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 .
Фильтрация для специальных символов
Чтобы отфильтровать 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 .
Запрос на последнее действие рабочего элемента
Для перечисления рабочих элементов можно использовать следующие макросы, основанные на недавнем действии:
- @MyRecentActivity. Список элементов, которые вы недавно просматривали или изменили.
- @RecentMentions: элементы списка, которые вы добавили через @mention за последние 30 дней.
- @RecentProjectActivity. Список элементов, недавно созданных или измененных в проекте.
Укажите поле идентификатора и операторы In или Not In.
Например, в следующем запросе показано, как запрашивать рабочие элементы, которые вы недавно просматривали или изменили.
Общие поля для большинства типов рабочих элементов
В следующей таблице описываются общие поля, используемые для фильтрации запросов. Поля идентификатора однозначно определяют рабочие элементы в списке. Используйте поле "Заголовок", чтобы отличить рабочий элемент от всех остальных одного типа. Поля 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: