按标题、ID 和富文本字段进行查询

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

使用单行文本(字符串)、多行文本(PlainText)和格式文本(HTML)字段按关键字、ID 或空文本字段筛选工作项。 如果查询返回时间过长,请参阅 “创建查询”最佳做法

Prerequisites

Category Requirements
访问级别 - 若要查看和运行共享查询:项目成员
- 要添加并保存共享查询:至少具有基本访问权限。
Permissions 对于要添加查询的文件夹,请将参与权限设置为允许。 默认情况下,“参与者”组没有此权限。

Note

对公共项目具有“利益干系人”访问权限的用户可以完全访问查询功能,就像具有“基本”访问权限的用户一样。 有关详细信息,请参阅利益干系人访问快速参考

Category Requirements
访问级别 - 若要查看和运行共享查询:项目成员
- 要添加并保存共享查询:至少具有基本访问权限
Permissions 对于要添加查询的文件夹,请将参与权限设置为允许。 默认情况下,“参与者”组没有此权限。

支持的运算符和宏

使用为文本和富文本字段列出的运算符和宏。


数据类型

支持的运算符和宏


格式文本 (HTML)
多行文本字符串(纯文本)

Contains WordsDoes Not Contain WordsIs Empty1Is 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 字段InNot 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. Azure DevOps Server 2020 及更高版本支持这些 Is EmptyIs Not Empty 运算符。
  2. 系统默认基于当前项目进行筛选。 有关详细信息,请参阅跨项目查询

Contains Words 用于字符串匹配

如果要筛选字符串匹配项,首选 Contains Words 运算符而不是 ContainsContains Words 使用全文索引,通常更快。 文本字符串限制为 100 个字符。

Contains操作员运行表扫描;速度较慢,消耗更多的 CPU 资源,这可能会影响速率限制。

Note

运算符 Contains Words 使用 SQL 全文搜索索引。 将新值保存到长文本字段时,SQL Server:

  • 将短语拆分为单词
  • 删除常见的停用词(例如,“a” 或 “is”)
  • 将单词转换为其常见词干(例如,跑步→跑)
  • 将生成的关键字存储在索引中

使用 Contains Words 搜索索引的查询,为长文本字段提供更快的结果。 有关详细信息和服务器/排序规则要求,请参阅 查询字段、运算符、值和变量 - 全文和部分单词搜索

使用通配符的关键字或短语查询

使用 ContainsContains Words 查找部分或完全匹配字词或短语的项目。

显示用于筛选关键字的平面列表查询的编辑器的屏幕截图。

选择 ContainsDoes Not Contain 搜索精确匹配项或部分匹配项。 选择 Contains WordsDoes Not Contain Words 以使用全文索引和通配符 *

例如,Contains Wordsinform*匹配informinformationinformational

显示将通配符与 Contains Words 运算符配合使用的屏幕截图。

Tip

要了解 AND/OR 子句的分组方式,请参阅对子句进行分组。 若要查看查询的 WIQL 语法,请安装 WIQL 查询编辑器扩展,以便查看任何查询编辑器条目的 WIQL 版本。

查询特定字词而不是其他字词

使用 Contains WordsDoes Not Contain Words 包含确切的字词或短语,并排除其他人。 将这些运算符组合起来并使用 * 进行通配符匹配。

以下示例显示了包含工作“阶段”但不包括“Phasor”的筛选器。

显示包括和排除确切字词的查询编辑器的屏幕截图。

Note

某些保留的 SQL 关键字(例如 WHERETHENAND)在作为独立搜索词与 Contains WordsDoes Not Contain Words 组合使用时不会返回结果。

未定义的字段值查询

使用“equals”运算符 = 查找具有未定义(空白)字段值的工作项,并将值留空。 例如,以下筛选器列出活动字段为空的所有任务。

显示活动值为空的筛选器的屏幕截图。

若要查找字段不为空的项目,请使用“not”运算符 <> 并将值留空。

为空或不为空的 HTML 字段查询

使用 Is EmptyIs Not Empty 与 HTML 字段一起,列出具有空或非空富文本字段的工作项。 不为这些运算符指定值。

显示按非空 HTML 字段进行筛选的屏幕截图。

特殊字符筛选器

筛选 URL 或短语时,使用反斜杠转义特殊字符,例如 /-

  • 针对URL的筛选

    • 查询:Title ~ "https:\/\/example.com\/path-to-resource"
    • 结果:返回具有确切 URL 的工作项。
  • 筛选带有短划线的短语:

    • 查询:Title ~ "feature-update\-2023"
    • 结果:返回包含带有短划线的确切短语的工作项。

Note

无法查询未附加任何标记的工作项。 若要点赞此功能请求,请访问开发人员社区:可以搜索空标签

基于类别的查询

若要按类别进行筛选,请使用 In Group 运算符。 以下示例返回分配给团队成员和 Bug 类别的当前项目中的项目。

显示通过类别查找工作项的子句的屏幕截图。

“需求”或“任务”类别中显示哪些项?

每个进程的默认工作项类型分配:

Process 要求类别 任务类别
基本 Issue Task
Agile 用户情景 Task
Scrum 产品积压工作项,Bug Task
CMMI Requirement Task

团队可以选择 Bug 工作项类型是否显示在“需求”或“任务”类别中。 请参阅显示积压工作 (backlog) 和工作板块中的 Bug。 若要将自定义工作项类型添加到积压工作,请参阅 “添加或修改工作项类型”。

查询你正在关注的工作项

使用 @Follows 宏与 ID 字段以及 In 运算符可列出所关注的工作项(如果需要,跨项目)。

显示带有 ID In @Follows 查询子句的查询编辑器的屏幕截图

查询最近的工作项活动

使用这些宏根据最近的活动列出项目:

  • @MyRecentActivity:最近查看或修改的项目。
  • @RecentMentions:最近 30 天内带有 @mention 的项目。
  • @RecentProjectActivity:最近在项目中创建或修改的项目。

将 ID 字段用于 InNot In.

显示 ID 为 @MyRecentActivity 宏查询的查询编辑器的屏幕截图

大多数工作项类型的通用字段

下表描述了查询中使用的常见字段。 ID 唯一标识工作项。 使用 Title 区分相同类型的项。 说明和其他富文本字段提供详细的实现信息。 创建后,可以修改除 ID 以外的所有字段;系统在创建工作项时分配 ID。

Note

系统为类型 PlainTextHTML 的长文本字段编制索引,以进行全文搜索,包括 TitleDescriptionSteps to Repro。 有关适用于本地 Azure DevOps 的详细信息和服务器/排序规则要求,请参阅 查询字段、运算符、值和变量 - 全文和部分词搜索

字段名称

Description

工作项类型


验收条件 1

在可以关闭 bug 或产品积压工作项之前必须满足的条件的说明。

在工作开始之前,记录明确的验收标准,以便团队和客户分享期望。 验收条件有助于定义验收测试,并确认项目是否已完成。

引用名称=Microsoft.VSTS.Common.AcceptanceCriteria,数据类型=HTML

bug、长篇故事、功能、产品积压工作项 (Scrum)

说明 1,2

使用此字段提供有关工作项的深层信息。

引用名称=System.Description,数据类型=HTML

All

ID

分配给工作项的唯一标识符。 ID 在项目集合中的各个项目之间是唯一的。

引用名称=System.Id,数据类型=整数

All

重现步骤(或重现的步骤)1

重现意外行为所需的步骤。 捕获足够的详细信息,以便其他人可以重现和验证修补程序。

引用名称=Microsoft.VSTS.TCM.ReproSteps,数据类型=HTML

Bug

Resolution

介绍了解决障碍的方式。

引用名称=Microsoft.VSTS.Common.Resolution,数据类型=HTML

障碍(Scrum)

系统信息1

有关与 bug 或反馈相关的软件和系统配置的信息。

引用名称=Microsoft.VSTS.TCM.SystemInfo,数据类型=HTML

Bug、代码评审请求、反馈请求

团队项目

工作项所属的项目。 将此字段添加到查询,以便按一个或多个项目进行筛选。 有关详细信息,请参阅 跨项目查询

引用名称=System.TeamProject,数据类型=字符串

All

Title

总结工作项并帮助团队成员将其与其他人员区分开来的简短说明。

引用名称=System.Title,数据类型=字符串

All

工作项类型

工作项类型名称,由创建项目时使用的过程定义。 有关详细信息,请参阅关于流程和流程模板添加或修改工作项类型

若要按类别分配进行筛选,请使用 In GroupNot In Group 运算符并从下拉列表中选择一个类别。

引用名称=System.WorkItemType,数据类型=字符串

All

REST API

要以编程方式与查询交互,请参阅以下 REST API 资源之一: