查询Azure Boards中的字段、运算符和宏
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
在这里,你将找到每个字段数据类型、查询运算符和查询宏的详细说明。 某些数据类型、运算符和宏仅适用于指定的Azure DevOps Server或 Team Foundation Server (TFS) 版本。
有关每个数据类型支持的查询任务和运算符和宏的快速参考,请参阅 查询快速参考。 另请参阅 指南,了解如何创建高性能查询 ,以获取有关构造高性能查询的提示。
查询字段数据类型和值
为字段指定的值必须符合该字段的数据类型。 下表列出支持的数据类型:
注意
对于Azure Boards云服务,数据类型对应于“进程>字段”页上字段列出的数据类型。 对于本地部署,数据类型对应于 type 分配给 FIELD 定义的属性。 有关详细信息,请参阅 “工作项”字段和字段属性。
数据类型
描述
布尔值 1
指定采用 True/False 值的字段。
DateTime 或 Date/Time
可以指定变量(例如 @Today 或)或 @Today-1值(如 2012/1/1)的日期字段。 在为个人配置文件设置的日期模式中输入日期。 (请参阅 “设置个人首选项 ”了解详细信息。) 有关查询示例,请参阅“ 按日期or@CurrentIteration查询”。
对于 WIQL 查询,还可以在协调世界时 (UTC) 模式中指定日期。 有关详细信息,请参阅 工作项查询语言的语法 (WIQL) 。
Double 或 Decimal
一个实数,如 0.2 或 3.5。 有关查询示例,请参阅 按数值字段查询。
GUID
一个表示唯一 ID 的字符串。
History
HTML
支持格式化说明的文本字符串,例如 “说明 ”或 “重现步骤 ”字段。 当全文搜索可用时,这些字段在进行全文搜索时可自动创建索引。 请参阅本文后面的 全文和部分词搜索 。 若要查询富文本字段,请参阅 标题、ID 和富文本字段的查询。
标识
标识用户标识的短文本字符串。
整数
一个 32 位有符号整数,如 0、1、2、34。
纯文本 或 文本字段 (多行)
支持长说明的文本字符串,例如 “应用程序开始信息 ”字段。 当全文搜索可用时,这些字段在进行全文搜索时可自动创建索引。 请参阅本文后面的 全文和部分词搜索 。 若要查询纯文本字段,请参阅 标题、ID 和富文本字段的查询。
picklistDouble2
定义为包含十进制值的选取列表的自定义字段。
picklistInteger2
定义为包含整数值的选取列表的自定义字段。
picklistString2
定义为包含短文本字符串 (255 个字符或更少) 值的选取列表的自定义字段。
字符串 或 文本字段 (单行)
最多包含 255 个 Unicode 字符的短文本字符串。 字符串文本字段通常用于支持选取列表或下拉菜单。
TreePath
一个分支树结构,如“区域路径”或“迭代路径”。 从有效值列表中选择项。 查找等于、不等于、在树结构下或不在树结构下的工作项,或使用 In 或 Not In 运算符指定多个值。 为项目(区域路径 和迭代路径)定义树结构,然后选择要与团队关联的 树结构。
有关构造查询的详细信息,请参阅 按区域或迭代路径 或 按日期或当前迭代查询。
注意
- TFS 2017 及更高版本支持 布尔 数据类型字段。
- picklist... 数据类型仅分配给为继承进程定义的自定义字段。 仅支持 Azure DevOps Services 和 Azure DevOps Server 2019 的继承进程模型。
日期和时间模式
为 DateTime 字段输入的日期和时间模式应与通过配置文件选择的日期和时间模式匹配。 若要查看或更改所选内容,请参阅 “设置用户首选项”、“时间和区域设置”。


查询运算符
可使用下表中的查询运算符指定子句中的每个值必须如何与工作项中的对应值相关。 有关分配给工作项字段的数据类型的信息,请参阅 “工作项”字段引用。
若要了解如何添加子句和使用 And/Or 运算符,请参阅 定义查询、And/Or 逻辑表达式。
查询运算符
如果工作项中的值与列出的条件匹配,则返回工作项
适用的数据类型
=
与子句中的值匹配。
数字(包括 Double、 GUID、 Integer)和 字符串、 DateTime 和 TreePath
<>
与子句中的值不匹配。
Number、 String、 DateTime 和 TreePath
>
大于子句中的值。
Number、 String 和 DateTime
<
小于子句中的值。
Number、 String 和 DateTime
>=
大于或等于子句中的值。
Number、 String 和 DateTime
<=
小于或等于子句中的值。
Number、 String 和 DateTime
=[Field]
与指定字段中包含的值匹配。
与指定字段具有相同数据类型的字段的名称
<>[字段]
与指定字段中包含的值不匹配。
与指定字段具有相同数据类型的字段的名称
>[字段]
大于指定字段中包含的值。
与指定字段具有相同数据类型的字段的名称
<[字段]
小于指定字段中包含的值。
与指定字段具有相同数据类型的字段的名称
>=[Field]
大于或等于指定字段中包含的值。
与指定字段具有相同数据类型的字段的名称
<=[Field]
小于或等于指定字段中包含的值。
与指定字段具有相同数据类型的字段的名称
Contains
在你为筛选而选择的字段中包含文本字符串的完全或部分匹配。
字符串
不包含
不包含所选字段内文本字符串的完全匹配或部分匹配项。
字符串
包含字词
在你为筛选而选定的字段内包含准确的文本字符串或字。 也可输入包含通配符“*”的部分单词或短语。 文本字符串限制为 100 个字符。 有关限制,请参阅 全文搜索 服务器和排序规则要求。
为全文搜索编制索引的长文本字段,这些字段对应于所有 纯文本 和 HTML 字段,以及 “历史记录 ”和 “标题 ”字段。
不包含单词
不包含所选字段内用于筛选的确切文本字符串或单词。 文本字符串限制为 100 个字符。
将此运算符与 Contains Words 运算符的子句结合使用,以包含和排除特定关键字。
在进行全文搜索时编制索引的文本字段。
位于
与分隔的集合中的任何值匹配。 例如,如果为 ID 字段指定值 100、101 和 102,则可查找 ID 为这些值的工作项。 用列表分隔符分隔值,列表分隔符与为你的客户端计算机定义的区域设置相对应。 例如,可以使用逗号 (,)。
Number、 String、 DateTime、 TreePath
为空
列出包含空 HTML 字段的工作项。 不使用此运算符指定值。 Azure Boards (云服务) 、Azure DevOps Server 2019 及更高版本支持此操作员。
HTML
不为空
列出包含 HTML 字段中某些内容的工作项。 不使用此运算符指定值。 Azure Boards (云服务) 、Azure DevOps Server 2019 及更高版本支持此操作员。
HTML
不位于
与分隔集中的任何值不匹配。 如果为“状态”字段指定了这些值,则可以从查询结果中排除状态为“已解决”、“已完成”或“已关闭”的工作项。 用列表分隔符分隔值,列表分隔符与为你的客户端计算机定义的区域设置相对应。 例如,可以使用逗号 (,)。
Not In 运算符可从 Azure Boards 和 TFS 2018.2 及更高版本获取。
Number、 String、 DateTime、 TreePath
在组中
与作为子句中组的成员的值匹配。 组对应于团队、安全组或工作跟踪类别的名称。 例如,你可以创建一个查询,用来查找分配给 Contributors 组成员或分配给团队的所有工作项。 在创建团队时创建团队组。 团队组的名称遵循模式 [Team Project Name]\Team Name。
有关示例查询,请参阅 按分配更改或工作流更改查询。
与系统中定义的团队、安全组或类别的名称匹配的字符串。
注意
只能将 In Group 运算符用于使用 字符串 数据类型或 工作项类型 字段的字段。 还可以在 Azure Active Directory 中定义的组 (Azure AD) ,当 Azure Boards 帐户由 Azure AD 支持时,或者在本地服务器实例由 Active Directory 提供支持时使用 Active Directory。
有关类别组的信息,请参阅 “使用类别对工作项类型进行分组”。
不在组中
与子句中组成员的值不匹配。
与 Team Foundation Server 中用户组的名称匹配的字符串或为项目定义的类别组。
注意
只能将 “不在组 ”运算符与使用 字符串 数据类型或 “工作项类型” 字段的字段一起使用。 当 Azure Boards 帐户由 Azure AD 支持时,也可以使用 Azure AD 中定义的组,也可以在本地服务器实例由 Active Directory 提供支持时使用 Active Directory。
不小于
与子句中的值不匹配,并且不包含在子句中的节点下。
TreePath
下
与子句中的值匹配或包含在子句中节点之下。
TreePath
曾是
在以前任意时间与子句中的值匹配。
字符串 , DateTime
提示
对于列出的其他数据类型字段,可以使用 WIQL 语法(如 Was Ever)构造查询。 例如,可以使用迭代路径在子句中使用 Ever。 有关示例,请参阅 按日期或当前迭代查询,列出从冲刺移出的工作项。
查询宏或变量
可以使用下表中所述的宏根据特定字段筛选查询。
注意
以下宏仅在 Web 门户中受支持:@CurrentIteration、@CurrentIteration +/- n、@Follows、@MyRecentActivity、@RecentMentions、@RecentProjectActivity和@TeamAreas。 在 Visual Studio/Team Explorer、Microsoft Excel 或 Microsoft Project 中打开时,包含这些宏的查询将不起作用。
宏
描述
[任何]
与 “工作项类型 ”或“ 状态 ”字段一起使用,可跨所有工作项类型或跨所有状态进行搜索。 例如, Work Item Type=[Any] 不会根据工作项类型放置任何筛选器。
@CurrentIteration
与 “迭代路径” 字段一起使用,根据 当前团队焦点或上下文自动筛选分配给当前冲刺的工作项。 有关特定示例,请参阅 按日期或当前迭代查询。
Azure Boards和 TFS 2015 及更高版本支持@CurrentIteration宏。 此宏仅在从 Web 门户运行时有效。 复制或克隆测试套件和测试用例、定义警报或使用 REST API 时,不能使用宏。
@CurrentIteration +/- n
与“迭代路径”字段一起使用,根据当前团队焦点或上下文筛选分配给当前冲刺 +/- n 冲刺的工作项集。 有关特定示例,请参阅 按日期或当前迭代查询。
@CurrentIteration +/- n 宏支持Azure Boards、Azure DevOps Server 2019 及更高版本,仅在从 Web 门户运行时。
@Follows
与 ID 字段和 In 运算符一起使用可列出项目中关注的所有工作项。 若要了解有关“关注”功能的详细信息,请参阅 “关注工作项”或“拉取请求”。 可以从 “工作项”页查看此同一列表, “关注 透视视图”。
Azure Boards和 TFS 2017 及更高版本支持@Follows宏,仅在从 Web 门户运行时才支持。
@Me
与标识或用户帐户字段一起使用,自动搜索与用户或帐户名称关联的项目。 例如,可以找到使用子句 Created By=@Me打开的工作项。 有关更多示例,请参阅 按分配、工作流或看板更改查询。
@MyRecentActivity1
与 ID 字段和 In 运算符一起使用,列出在过去 30 天内在项目中查看或更新的工作项。 可以从 “工作项”页、 “我的活动 透视”视图查看此同一列表。
@Project
与 “团队项目” 字段一起使用,筛选其他项目中的工作项。 例如,可以使用子句 Team Project=@Project查找当前选定项目中的所有工作项。
Azure Boards和 TFS 2015.1 及更高版本支持@Project宏。 系统会自动默认基于当前项目进行筛选。 若要了解详细信息,请参阅 定义查询,跨项目查询。
@RecentMentions1
与 ID 字段和 In 运算符一起使用可列出在“讨论”部分中提到的工作项。 可以从 “工作项”页、 “提及 ”透视视图查看此同一列表。
@RecentProjectActivity
与 ID 字段和 In 运算符一起使用,列出在过去 30 天内在项目中更新的工作项。 可以从 “工作项”页、 “最近创建”、“ 最近更新 ”和 “最近完成 ”透视视图查看类似的列表。
目前,Azure Boards (云服务) 支持@RecentProjectActivity宏。
@StartOfDay2
与 DateTime 字段一起使用可筛选与当前日期或加/减偏移量相关的工作项。 例如,可以使用子句 Closed Date>=@StartOfDay-7在上周找到关闭的所有项。 有关更多示例,请参阅 按日期或当前迭代查询。
@StartOfMonth2
与字段一起使用 DateTime 可筛选与当前月份相关的工作项或加/减偏移量。 例如,可以使用子句 Created Date>=@StartOfMonth-3查找在过去三个月内创建的所有项。 有关更多示例,请参阅 按日期或当前迭代查询。
@StartOfWeek2
与字段一起使用 DateTime 可筛选与当前周或加/减偏移量相关的工作项。 例如,可以使用子句 Changed Date>=@StartOfWeek-2查找过去两周内更改的所有项。 有关更多示例,请参阅 按日期或当前迭代查询。
@StartOfYear2
与字段一起使用 DateTime 可筛选与当前年份相关的工作项或加/减偏移量。 例如,可以使用子句 Target Date>=@StartOfYear查找在当前年份内计划的目标日期的所有功能。 有关更多示例,请参阅 按日期或当前迭代查询。
@TeamAreas
仅与 “区域路径” 字段一起使用,以筛选其区域路径对应于分配给特定团队的工作项。 要求使用 = 运算符。 例如,可以使用子句 Area Path=@TeamAreas [Fabrikam Fiber]\Web找到分配给 Web 团队的区域路径的所有项。 有关更多示例,请参阅 按区域或迭代路径查询。
Azure DevOps Server 2019 及更高版本支持@TeamAreas宏,仅当从 Web 门户运行时。
@Today
与字段一起使用 DateTime ,筛选与当前日期或更早日期相关的工作项。 还可以通过减去天数来修改 @Today 宏。 例如,可以使用子句 Created Date>=Today-7查找上周创建的所有项。 有关更多示例,请参阅 按日期或当前迭代查询。
注意
- Azure Boards和 TFS 2018.2 及更高版本支持@MyRecentActivity、@RecentMentions和@RecentProjectActivity宏。
- Azure DevOps Server 2019 Update 1 及更高版本支持@StartOfDay、@StartOfWeek、@StartOfMonth和@StartOfYear宏。
全文和部分单词搜索
指定 “包含 ”或 “不包含 ”以针对单词或短语的确切或部分匹配项进行搜索。 这些运算符根据为长文本字段创建的全文搜索索引筛选项。 指定“包含字词”或“不包含单词”以针对确切短语搜索或使用通配符。 * 这些运算符使用全文搜索索引。 只能在部分单词或短语的末尾使用通配符。
有关示例,请参阅“历史记录”字段的示例工作项查询和查询工作项。
注意
并非所有部署都支持全文搜索。 例如,支持云服务的 SQL Express 和SQL Azure不支持全文搜索。 在这些实例中,将只看到 Contains 和 Not Contain 运算符。
Azure DevOps Server和 Team Foundation Server 会自动为所有长文本字段编制索引,其数据类型为 PlainText 和 HTML 和标题字段进行全文搜索。 索引和运算符仅在支持 Team Foundation Server 的SQL Server支持全文搜索时才可用。
全文搜索需要一个 SQL 排序规则,该排序规则对应于注册有SQL Server断字符的语言。 如果用于 Team Foundation Server 实例的项目集合数据库的排序规则设置与受支持的语言不对应,则搜索结果可能与预期不匹配。 在这些情况下,可以尝试使用 Contains 或 Not Contain 运算符。
有关详细信息,请参阅 全文搜索查询和排序规则设置。
相关文章
REST API
若要以编程方式与查询交互,请参阅以下 REST API 资源之一: