Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Фильтрация рабочих элементов по ключевым словам, идентификаторам или пустым текстовым полям с помощью однострочного текста (String), многострочного текста (PlainText) и полей с форматированным текстом (HTML). Если запросы слишком долго возвращаются, ознакомьтесь с рекомендациями по созданию запроса.
Tip
Вы можете использовать ИИ, чтобы помочь с этой задачей позже в этой статье или ознакомиться с включение помощи ИИ в Azure DevOps MCP Server, чтобы начать работу.
Prerequisites
| Category | Requirements |
|---|---|
| Членство в проекте | Вы должны быть добавлены в участники проекта. |
| Уровни доступа | — Для просмотра и выполнения общих запросов: необходимо быть членом Project. — Чтобы добавить и сохранить общий запрос: у вас должен быть по крайней мере базовый доступ. |
| Разрешения | Убедитесь, что для папки, в которую вы хотите добавить запрос, разрешение Contribute установлено в значение Разрешить. Вашей организации может потребоваться вручную настроить группу участников , чтобы предоставить это разрешение. |
Note
Чтобы сохранять общие запросы, необходимы достаточный уровень доступа и разрешение Contribute. Базового доступа недостаточно.
| Category | Requirements |
|---|---|
| Членство в проекте | Необходимо добавить вас в качестве участника проекта. |
| Уровни доступа | — Для просмотра и выполнения общих запросов: необходимо быть членом Project. — Чтобы добавить и сохранить общий запрос: у вас должен быть по крайней мере базовый доступ. |
| Разрешения | Убедитесь, что для папки, в которую нужно добавить запрос, для разрешения Contribute установлено значение Allow. Вашей организации может потребоваться вручную настроить группу участников , чтобы предоставить это разрешение. |
Note
Чтобы сохранять общие запросы, требуются как достаточный уровень доступа, так и разрешение Contribute. Базового доступа недостаточно.
Поддерживаемые операторы и макросы
Используйте операторы и макросы, перечисленные для текстовых и форматированных полей.
Тип данных
Поддерживаемые операторы и макросы
Форматированный текст (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] допустимы с полем "Тип рабочего элемента" и @Project2, допустимы с полем проект команды.
ID
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], In, Not In, Was Ever
Макросы: @Follows, @MyRecentActivity, @RecentMentions, @RecentProjectActivity допустимы с полем ID и In, Not In операторами.
@Project
2, совместимое с полем "Командный проект".
Поле "Состояние" и Поле "Тип рабочего элемента"
= , <> , > , < , >= , <= , =[Field], <>[Field], >[Field], <[Field], >=[Field], <=[Field], Contains, Does Not Contain, In, Not In, In Group, Not In Group, Was Ever
Макросы: [Any] действительные для обоих полей.
Note
- Операторы
Is EmptyиIs Not Emptyподдерживаются для Azure DevOps Server 2020 и более поздних версий. - Система по умолчанию использует фильтрацию на основе текущего проекта. Дополнительные сведения см. в разделе Запросы между проектами.
Используйте Contains Words для строковых совпадений
Если вы хотите фильтровать по совпадению строки, предпочитайте оператор Contains Words вместо Contains.
Contains Words использует полнотекстовый индекс и обычно быстрее. Текстовые строки ограничены 100 символами.
Оператор Contains выполняет проверку таблицы; она медленнее и потребляет больше ресурсов ЦП, что может повлиять на ограничения скорости.
Note
Оператор Contains Words использует индексирование полнотекстового поиска SQL. При сохранении нового значения в длиннотекстовом поле SQL Server:
- Разделяет фразу на слова
- Удаляет распространенные стоп-слова (например, "a" или "is")
- Преобразует слова в их общий корень (например, бегущий → бег)
- Сохраняет результирующее ключевое слово в индексе
Запросы, использующие Contains Words поиск по индексу, дают более быстрые результаты для длинных текстовых полей. Дополнительные сведения и требования к серверу и сортировке см. в полях запроса, операторах, значениях и переменных — полнотекстовый и частичный поиск слов.
Запрос ключевых слов или фраз с подстановочными знаками
Используйте Contains или Contains Words найдите элементы, которые частично или точно соответствуют словам или фразам.
Выберите Contains или Does Not Contain выполните поиск точных или частичных совпадений. Выберите Contains Words или Does Not Contain Words, используйте полнотекстовый индекс и подстановочный знак *.
Например, Contains Words с inform*, inform, information и informational.
Tip
Чтобы понять, как AND/OR группируются предложения, см. Группировка предложений. Чтобы просмотреть синтаксис WIQL для запроса, установите расширение редактора запросов WIQL, которое позволяет просмотреть версию WIQL любой записи редактора запросов.
Запрос для определенных слов, а не других
Используйте Contains Words, Does Not Contain Words для включения точных слов или фраз и исключения других. Объедините эти операторы и используйте * для сопоставления подстановочных знаков.
В следующем примере показан фильтр, который включает термин "Phase", но исключает "Phasor".
Note
Некоторые зарезервированные слова SQL, такие как WHERE, THEN и AND, не возвращают результаты при использовании в качестве самостоятельных терминов поиска с Contains Words или Does Not Contain Words.
Неопределенные запросы значений поля
Найдите рабочие элементы с неопределенным (пустым) значением поля, используя оператор = "equals" и оставив значение пустым. Например, следующие фильтры перечисляют все задачи, поле действия которых пусто.
Чтобы найти элементы, в которых поле не пусто, используйте оператор <> not и оставьте значение пустым.
Пустые или не пустые запросы полей HTML
Используйте Is Empty или Is Not Empty с HTML-полем для перечисления рабочих элементов с пустыми или заполненными форматированными текстовыми полями. Вы не указываете значение для этих операторов.
Фильтрация для специальных символов
Экранируйте специальные знаки, такие как / или -, с помощью обратной косой черты при фильтрации URL-адресов или фраз.
Фильтрация по URL-адресу:
- Запрос:
Title ~ "https:\/\/example.com\/path-to-resource" - Результаты. Возвращает рабочие элементы с точным URL-адресом.
- Запрос:
Фильтр для фразы с дефисом:
- Запрос:
Title ~ "feature-update\-2023" - Результаты. Возвращает рабочие элементы, содержащие точную фразу с дефисами.
- Запрос:
Note
Не удается запросить рабочие элементы, которые не имеют вложенных тегов. Чтобы проголосовать за этот запрос функции, посетите Сообщество разработчиков: Возможность поиска пустых тегов.
Запросы на основе категорий
Чтобы отфильтровать по категориям, используйте In Group оператор. В приведенном ниже примере возвращаются элементы текущего проекта, которые назначены участнику команды и находятся в категории "Ошибка".
Какие элементы отображаются в категориях "Требование" или "Задача"?
Назначения типов рабочих элементов по умолчанию для каждого процесса:
| Process | Категория обязательных требований | Категория задач |
|---|---|---|
| Basic | Issue | Task |
| Agile | История пользователя | Task |
| Scrum | Элемент невыполненной работы продукта, ошибка | Task |
| CMMI | Requirement | Task |
Команды могут выбрать, отображается ли тип рабочего элемента ошибки в категории "Требование" или "Задача". См. статью "Показать ошибки в невыполненных работах и досках". Чтобы добавить пользовательские типы рабочих элементов в журнал работ, см. раздел Добавление или изменение типа рабочего элемента.
Запрос рабочих элементов, которые вы отслеживаете
@Follows При необходимости используйте макрос ID и In оператор для перечисления рабочих элементов, за которыми вы следите в проектах, если это необходимо.
Запрос на последнее действие рабочего элемента
Используйте эти макросы для перечисления элементов на основе недавнего действия:
-
@MyRecentActivity: элементы, которые вы недавно просматривали или изменили. -
@RecentMentions: элементы с@mention, предназначенные для вас за последние 30 дней. -
@RecentProjectActivity: элементы, недавно созданные или измененные в проекте.
Используйте поле ID с In или Not In.
Общие поля для большинства типов рабочих элементов
В этой таблице описываются распространенные поля, используемые в запросах. Идентификатор однозначно идентифицирует рабочий элемент. Используйте заголовок для различения элементов одного типа. Описание и другие поля с форматированным текстом предоставляют подробные сведения о реализации. После создания можно изменить все поля, кроме идентификатора; система назначает идентификатор при создании рабочего элемента.
Note
Система индексирует длинные текстовые поля типа PlainText и HTML для полнотекстового поиска, в том числе Title, Description и Steps to Repro. Дополнительные сведения и требования к сортировке сервера, применимые к локальной версии Azure DevOps, см. в разделе Поля запроса, операторы, значения и переменные — полнотекстовые и частичные поиски слов.
Имя поля
Description
Тип рабочего элемента
Критерии принятия 1
Описание критериев, которые должны быть выполнены до закрытия элемента невыполненной работы или ошибки.
Перед началом работы запишите четкие критерии принятия, чтобы команда и клиенты поделились ожиданиями. Критерии принятия помогают определить тесты принятия и проверить, завершен ли элемент.
Ссылочное имя=Microsoft.VSTS.Common.AcceptanceCriteria, тип данных=HTML
Ошибка, Эпик, Фича, Элемент бэклога продукта (Scrum)
Описание 1, 2
Используйте это поле для предоставления подробных сведений о рабочем элементе.
Эталонное имя=System.Description, тип данных=HTML
All
ID
Уникальный идентификатор, назначенный рабочему элементу. Идентификаторы уникальны для всех проектов в коллекции проектов.
Имя ссылки=System.Id, Тип данных=Integer
All
Шаги повторного воспроизведения (или шаги для воспроизведения) 1
Шаги, необходимые для воспроизведения неожиданного поведения. Захватить достаточно подробных сведений, чтобы другие могли воспроизвести и проверить исправления.
Эталонное имя=Microsoft.VSTS.TCM.ReproSteps, тип данных=HTML
Bug
Resolution
Описывает, как было решено препятствие.
Эталонное имя=Microsoft.VSTS.Common.Resolution, тип данных=HTML
Препятствие (Scrum)
Системная информация1
Сведения о конфигурации программного обеспечения и системы, относящиеся к ошибке или отзыву.
Эталонное имя=Microsoft.VSTS.TCM.SystemInfo, тип данных=HTML
Ошибка, запрос на проверку кода, запрос обратной связи
Командный проект
Проект, которому принадлежит рабочий элемент. Добавьте это поле в запрос для фильтрации по одному или нескольким проектам. Для получения подробной информации см. Запрос по проектам.
Эталонное имя=System.TeamProject, тип данных=String
All
Title
Краткое описание, которое суммирует рабочий элемент и помогает членам команды отличить его от других.
Reference name=System.Title, Data type=String
All
Тип рабочего элемента
Имя типа рабочего элемента, определенное процессом, используемым при создании проекта. Дополнительные сведения см. в разделе "Сведения о процессах и шаблонах процессов" и "Добавление или изменение типа рабочего элемента".
Чтобы отфильтровать по назначению категорий, используйте In Group операторы и Not In Group выберите категорию из раскрывающегося списка.
Reference name=System.WorkItemType, Data type=String
All
Использование ИИ для запроса по названию, идентификатору или описанию
Если у вас есть Azure Boards MCP Server подключен к агенту ИИ в режиме агента, вы можете использовать запросы естественного языка для поиска рабочих элементов по ключевым словам, идентификаторам или текстовому содержимому.
| Task | Пример запроса |
|---|---|
| Поиск по ключевому слову | Find all work items with 'performance' in the title |
| Описания поиска | List bugs where the description contains 'null reference exception' |
| Поиск пустых полей | Show user stories with empty acceptance criteria |
| Запрос по диапазону идентификаторов | Find work items with IDs between 5000 and 5100 |
| Поиск аналогичных названий | List work items in <Contoso> with titles containing "login", "sign in", or "authentication" |
| Качество описания аудита | List active user stories in <Contoso> where the description is shorter than 50 characters |
| Действия по повторному поиску | Find bugs in <Contoso> whose repro steps mention "intermittent" or "random" |
| Поиск шаблонов именования | List work items in <Contoso> whose title starts with "[SPIKE]" or "[POC]" |
| Определение потенциальных дубликатов | Show pairs of active bugs in <Contoso> that have similar titles |
| Просмотр неполных элементов | List user stories in the current sprint for <Contoso> where either the title contains "TBD" or the description is empty |
Note
Режим агента и сервер MCP используют естественный язык, чтобы настроить эти запросы или задать дальнейшие вопросы, чтобы уточнить результаты.
Связанный контент
- Редактор запросов
- Добавление рабочих элементов
- Индекс поля рабочего элемента
- Сведения об управляемых запросах
REST API
Сведения о программном взаимодействии с запросами см. в одном из следующих ресурсов REST API:
- Справочник по REST API службам Azure DevOps Services
- Queries
- Язык запросов рабочих элементов
- Извлечение рабочих элементов с помощью запросов программным способом