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

Сервисы 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

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

Используйте 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-полем для перечисления рабочих элементов с пустыми или заполненными форматированными текстовыми полями. Вы не указываете значение для этих операторов.

Снимок экрана: фильтрация по непустым полям 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 оператор для перечисления рабочих элементов, за которыми вы следите в проектах, если это необходимо.

Скриншот Редактора Запросов с предложением ID в запросе @Follows

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

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

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

Используйте поле ID с In или Not In.

Скриншот, который показывает редактор запросов с запросом макроса ID в @MyRecentActivity

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

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

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: