Jira 中的搜索界面和选项

作为一个信息系统,Jira 提供了大量功能和选项,用于搜索数据并将搜索结果呈现给最终用户。Jira 提供了三种执行搜索的选项:

  • 快速/文本搜索:这使您可以通过简单的文本搜索查询快速搜索问题

  • 基本/简单搜索:可让您通过直观的用户界面控件指定问题字段标准

  • 高级搜索:可让您使用 Jira 自带的搜索语言 Jira Query Language (JQL) 构建功能强大的搜索查询。

不过,在开始了解所有搜索选项的细节之前,让我们先来看看在 Jira 中执行搜索时将使用的主搜索界面。

问题导航器

问题导航器是您在 Jira 中执行大部分搜索的主要界面。单击顶部菜单栏中的 问题 菜单,然后选择 搜索问题 选项,即可进入该界面。

问题导航器分为几个部分:

  • 第一部分是您指定所有搜索条件的地方,例如您要搜索的项目和您感兴趣的问题类型

  • 第二部分显示搜索结果

  • 第三部分包括您可以对搜索结果执行的操作,例如将结果导出为各种格式

  • 第四部分也是最后一部分列出了一些预配置和用户创建的过滤器

首次访问问题导航器时,您将进入 基本搜索 模式。下面的截图显示了该模式下的问题导航器:

image 2023 11 30 21 18 35 747
Figure 1. Figure 10.1 – Issue navigator

基本搜索 中,如你所见,你可以通过用户界面控件指定搜索条件,为每个字段选择值。

如果您之前访问过问题导航器,并选择使用不同的搜索选项(如 高级搜索),那么 Jira 会记住这一点并打开 高级搜索

快速搜索

我们要了解的第一个搜索选项是快速搜索功能,它允许您根据问题摘要、描述或注释中包含的文本执行快速简单搜索。这样,您就可以对 Jira 中的所有问题执行基于文本的快速搜索。

快速搜索功能还有几个附加功能,可让您通过智能查询以最少的键入执行更专业的搜索。Jira 有一个内置查询列表,您可以将其用作快速搜索条件,以调出具有特定问题类型和/或状态的问题。下表中列出了一些有用的查询(您可以在 https://confluence.atlassian.com/jiracoreserver/quick-searching-939937704.html 上找到完整的快速搜索参考):

Table 1. Table 10.1 – Smart query
智能查询 结果

Issue key (for example, HD-12)

带您直接转到具有指定问题键的问题

Project key (for example, HD)

显示 问题导航器 页面上按键指定的项目中的所有问题

my or my open bugs

显示分配给当前登录用户的所有问题

overdue

显示今天之前到期的所有问题

Issues with a particular status (for example, open)

显示具有指定状态的所有问题

Issues with a particular resolution (for example, resolved)

显示指定分辨率的所有问题

您可以将这些查询组合起来,在 Jira 中创建快速而强大的搜索。例如,下面的查询会显示 帮助台(Help Desk) 项目中所有已解决的问题,其中 HD 是项目关键字:

HD resolved

快速搜索比基本搜索或高级搜索都要简单得多。您只需在右上角的 快速搜索 框中输入要搜索的文本或智能查询,然后按键盘上的 Enter 键即可。

正如你所看到的,快速搜索的目的是让你以最快的方式找到你要找的内容。有了智能查询,你能执行的就不仅仅是简单的文本搜索了。

需要注意的是,快速搜索是区分大小写的。例如,用 My 而不是 my 进行搜索将变成简单的文本搜索,而不是搜索分配给当前登录用户的问题。

基本搜索

这也被称为 简单搜索基本搜索 界面可让您选择要搜索的字段,如问题状态,并为这些字段指定值。使用 基本搜索,Jira 会显示可搜索字段列表,并提示您所选字段的可能搜索值。这对于 状态 等字段和选择基于列表的自定义字段非常方便,因为您不必记住所有可能的选项。

例如,如下截图所示,我们正在搜索 演示 项目中状态为 待办 的问题。为此,Jira 将列出所有可用状态供您选择:

image 2023 11 30 21 26 25 345
Figure 2. Figure 10.2 – Basic search

使用 基本搜索 界面时,Jira 将显示 项目问题类型状态受让人 等默认字段。您可以单击 更多 下拉选项,然后选择要在搜索中使用的字段,将字段添加到搜索中。执行以下步骤构建并运行基本搜索:

  1. 浏览到 问题导航 页面。如果没有看到基本搜索界面,但显示了 基本 链接,请单击该链接切换到 基本搜索

  2. 选择并填写 基本搜索 界面中的字段。您可以单击 更多 将更多字段添加到搜索条件中。

每次更改搜索条件时,Jira 都会自动更新搜索结果。

使用基本搜索时,需要注意的一点是,应用于所选项目和问题类型的配置(如工作流状态和自定义字段的上下文)都要考虑在内。(有关字段配置,请参阅 第 5 章 字段管理。)例如,如果自定义字段设置为仅适用于特定项目和/或问题类型,则您必须选择项目和问题类型作为搜索的一部分以便显示自定义字段。

使用 JQL 进行高级搜索

基本搜索非常有用,可以满足用户的大部分搜索需求。不过,它仍有一些局限性。其中一个限制是,基本搜索允许您根据包容性逻辑执行搜索,但不允许您根据排他性逻辑执行搜索。例如,如果需要搜索除一个项目以外的所有项目中的问题,就必须选择除要排除的项目以外的所有项目,因为基本搜索界面不允许指定排除项。

这就是高级搜索的用武之地。使用高级搜索时,您将使用的不是基于字段选择的界面,而是所谓的 JQL。

JQL 是 Atlassian 开发的一种自定义查询语言。如果你熟悉 MySQL 等数据库使用的 结构化查询语言 (SQL),就会发现 JQL 也有类似的语法;不过,JQL 与 SQL 并不相同。

JQL 与 SQL 最明显的区别之一是,JQL 不以 SELECT 语句开始。JQL 查询由一个字段和一个操作符组成,然后是一个值(如 assignee = john)或一个函数(将返回一个值)(如 assignee = currentUser())。

JQL 与 SQL 不同,不能指定从查询中返回哪些字段。你可以把 JQL 查询看作是普通 SQL SELECT 语句中 WHERE 关键字之后的部分。下表总结了 JQL 中的组件:

Table 2. Table 10.2 – JQL components
JQL 组件 描述

Keyword

JQL 中的关键字是特殊的保留字,它们执行以下操作:

将查询连接在一起,例如 AND

确定查询的逻辑,例如 NOT

有特殊含义,如 NULL

提供特定的函数,例如 ORDER BY

Operator

操作符是一些符号或单词,可用于评估左侧字段的值和右侧要检查的值。举例如下:

相等:=

大于:>

IN:当检查字段值是否在括号内指定的多个值中的一个时

Field

字段是 Jira 系统和自定义字段。在 JQL 中使用时,问题字段的值用于评估查询。

Functions

JQL 中的函数执行特定的计算或逻辑,并将结果返回为可用于操作符评估的值。

每个 JQL 查询基本上都由一个或多个组件组成。一个基本的 JQL 查询由以下三个元素组成:

  • 字段:这可以是问题字段(例如状态)或自定义字段。

  • 操作符:这定义了在结果中返回问题时必须满足的比较逻辑(例如 =>)。

  • :这是该字段要与之比较的内容;可以是以文本形式表示的字面值(例如 Bug),也可以是返回值的函数。如果要搜索的值包含空格,则需要在其周围加上引号—​例如,issueetype = "New Feature"

然后,可以使用逻辑 AND 或 OR 等关键字将查询连接起来,形成更复杂的查询。例如,要获取状态为 已完成 的所有问题,一个基本查询看起来类似下面这样:

status = Done

要获取 已解决 状态、错误问题类型以及分配给当前登录用户的所有问题,一个更复杂的查询看起来类似于下面这样(其中 currentUser() 是一个 JQL 函数):

issuetype = Bug and status = Resolved and assignee = currentUser()

讨论每一个 JQL 函数和运算符超出了本书的范围,但你可以通过点击高级搜索界面中的帮助图标获得完整的参考资料。完整的 JQL 语法参考可在 https://confluence.atlassian.com/jiracoreserver0822/advanced-searching-1141970390.html 上找到。

您可以从 问题导航 页面访问高级搜索界面,如下所示:

  1. 浏览到 问题导航 页面。

  2. 如果尚未进入高级模式,请单击右侧的 高级 链接。

  3. 构建 JQL 查询。

  4. 点击 搜索 按钮或按键盘上的 Enter 键。

由于 JQL 结构复杂,熟悉它需要一些时间,因此高级搜索界面具有一些非常有用的功能,可以帮助您构建查询。该界面具有自动完成功能(可在 常规配置 设置中关闭),可帮助您选择要使用的关键字、值和运算符。

它还能实时验证你的查询,并通知你查询是否有效,如下图所示:

image 2023 11 30 21 39 40 329
Figure 3. Figure 10.3 – Advanced search

您可以在运行查询时单击 基本/高级 链接,在基本搜索和高级搜索之间切换,Jira 会自动将您的搜索条件转换为 JQL。事实上,这是一个相当有用的功能,可以帮助您在刚开始使用时学习 JQL 的基本语法,先用基本语法构建搜索,然后再看看等价的 JQL 是什么。

在简单搜索和高级搜索之间切换可以帮助您熟悉 JQL 的基础知识。

但需要注意的是,并非所有 JQL 都能转换为基本搜索,因为 JQL 比基本搜索界面的功能要多得多。如果当前的 JQL 无法转换为基本搜索界面,基本/高级 切换链接将被禁用。

在了解了如何在 Jira 中执行搜索后,我们将从问题导航器直接提供的各种功能和操作开始,了解使用和处理搜索结果的不同方法。