页面树结构

本页面的内容:

什么是高级搜索?

通过高级搜索,你可以使用结构化查询语言搜索JIRA的问题。 搜索的结果会显示在 问题导航器中, 然后你可以将搜索结果输出为 MS Excel格式 以及 其他格式。 你还可以 保存 以及 订阅搜索结果。

查询语句由一个 字段, 运算符, 和 或 _函数_构成。 例如, 下面的查询语句将返回 "TEST"项目的所有问题:

project = "TEST"

(这个例子使用了 项目(project) 字段, 等于 符号, 和 "TEST"。)

注意不能比较两个 字段

当你执行高级搜索时, 你使用的是JIRA查询语言(JQL)。 JQL类似SQL表达式, 比如 #>#NULL。 当然, 你不能使用数据库查询语言; 例如, JQL不能使用 SELECT 表达式。

如何使用高级搜索

  1. 点击顶部导航菜单栏的'问题'标签链接。会显示 搜索页面。
  2. 点击 "高级"搜索模式链接。会显示 "查询" 框:
  3. 使用下面描述的 字段, 运算符 和值或函数,书写查询语句。
  4. 点击"搜索" 按钮执行查询语句。


关键字

与 AND

用于整合多个查询条件, 允许你精炼查询条件。

注意,你可以使用 括号 来控制查询条件的执行顺序。

示例
  • 查询"New office"项目中所有开放的问题:
    project = "New office" and status = "open"
  • 查询所有分配给jsmith的紧急的开放问题:
    status = open and priority = urgent and assignee = jsmith
  • 查询JRA项目中没有分配给jsmith的问题:
    project = JRA and assignee != jsmith
  • 查找JRA和CONF项目中修复版本是3.14的问题:
    project in (JRA,CONF) and fixVersion = "3.14"
  • 查找不是Jack,Jill,John报告的并且他们也不是经办人的问题:
    reporter not in (Jack,Jill,John) and assignee not in (Jack,Jill,John)

或 OR

用户整合多个查询条件, 允许你扩展查询条件。

注意,你可以使用 括号 来控制查询条件的执行顺序。

(注意: 也可以查看 在...之中(IN)章节, 使用更方便的方法搜索多个字段的值。)

示例
  • 搜索报告人是jsmith或jbrown的问题:
    reporter = jsmith or reporter = jbrown
  • 搜索已近逾期或没有设置到期日的问题:
    duedate < now() or duedate is empty

非 NOT

用于否定一个运算符或整个查询条件, 允许你优化查询条件。

注意,你可以使用 括号 来控制查询条件的执行顺序。

(注意: 也可以查看 不等于 ("!="), 不包括 ("!~"), 不再...之中不是章节)

示例
  • 搜索经办人不是jsmith的所有问题:
    not assignee = jsmith
  • 搜索所有报告人不是jsmith或不是jbrown的问题:
    not (reporter = jsmith or reporter = jbrown)

空 EMPTY

用于搜索没有值的字段。 也可以查看空(NULL)

注意 EMPTY 只能与 是(IS)不是(IS NOT) 运算符结合使用。 要查看字段支持的运算符, 点击 #字段

示例

空 NULL

用于搜索字段没有赋值的问题。 请查看 空(EMPTY)

注意 NULL 只能用于支持 是(IS)不是(IS NOT) 操作符的字段。 要了解字段支持哪些操作符, 请查看每个 字段 参考。

示例
  • 查找所有没有设置 到期日(DueDate)的问题:
    duedate = null
    duedate is null

排序 ORDER BY

用于对输出的结果,按照指定的字段排序。

默认情况下, 按照字段输出顺序排序。 你可以指定按照升序 ("asc") 或降序 ("desc")排列。

示例


运算符参考


等于: =

"=" 运算符用于查找精确匹配字段值的问题。 (注意: 不能用于 文本 字段; 文本字段的匹配条件请使用 包含 运算符。)

要精确匹配多个字段值,请使用与(AND)将多个 "=" 表达式连接起来。

示例
  • 查找由jsmith创建的所有问题:
    reporter = jsmith
  • 查找由John Smith创建的所有问题:
    reporter = "John Smith"

不等于: !=

"!=" 运算符用于查找不等于指定字段值之外的问题。 (注意: 不能用于 文本 字段; 文本字段的否定条件请使用 不包含 ("!~") 运算符。)

注意输入 field != value 与输入 NOT field = value}}具有同等效果, 并且 {{field != EMPTY 与 {{field #IS_NOT EMPTY}}也具有同等效果。

示例
  • 查找所有已经被分配经办人,但是经办人不是jsmith的问题:
    not assignee = jsmith
    or:
    assignee != jsmith
  • 查找报告人不是jsmith的所有问题:
    reporter !=jsmith
  • 查找你报告的,但经办人没有被分配给你的问题:
    reporter = currentUser() and assignee != currentUser()
  • 查找已经被分配经办人,但报告人或经办人不是John Smith的问题:
    assignee != "John Smith" or reporter != "John Smith"
  • 查找所有还没有分配经办人的问题:
    assignee is not empty
    assignee != null


大于: >

">" 运算符用于差咋后比指定字段值大的问题。 不能用于 文本 字段。

注意 ">" 运算符只能用于支持排序的字段 (例如 日期字段和版本字段等)。 要了解字段支持哪些运算符, 请查看每个 字段 参考。

示例
  • 查找所有投票数大于4的问题:
    votes > 4
  • 查找所有逾期未解决的问题:
    duedate < now() and resolution is empty
  • 查找所有优先级高于 "Normal"的问题:
    priority > normal


大于等于: >=

">=" 运算符用于查找大于等于指定字段值的问题。不能用于 文本 字段。

注意 ">=" 运算符只能用于支持排序的字段 (例如 日期字段和版本字段等)。 要了解字段支持哪些运算符, 请查看每个 字段 参考。

示例
  • 查找所有投票数大于等于 4 的问题:
    votes >= 4
  • 查找到期日大于等于 31/12/2008 的问题:
    duedate >= "2008/12/31"
  • 查找过去5天内创建的问题:
    created >= "-5d"


小于: <

The "<" 运算符用于搜索小于指定字段值的问题。 不能用于 文本 字段。

注意"<" 运算符只能用于支持排序的字段 (例如 日期字段和版本字段等)。 要了解字段支持哪些运算符, 请查看每个 字段 参考。

示例
  • 查找所有投票数小于 4 的问题:
    votes < 4


小于等于: <=

The "<=" 运算符用于搜索小于等于指定字段值的问题。 不能用于 文本 字段。

注意 "<=" 运算符只能用于支持排序的字段 (例如 日期字段和版本字段等)。 要了解字段支持哪些运算符, 请查看每个 字段 参考。

示例
  • 查找所有投票数小于等于 4的问题:
    votes <= 4
  • 查找过去一个月(30天)内没有更新的问题:
    updated <= "-4w 2d"

在...之内 IN

"IN" 运算符用于查找多个指定字段值的问题。 多个值之间用逗号分隔, 用括号括起来。

使用 "IN" 运算符相当于多个 #EQUALS (=) 表达式, 但是使用起来更方便,更简短。 也就是说, 输入 reporter IN (tom, jane, harry) 与输入 {{reporter = "tom" #OR reporter = "jane" #OR reporter = "harry"}}具有同等效果。

示例
  • 查找报告人是jsmith或jbrown或jjones的所有问题:
    reporter in (jsmith,jbrown,jjones)
  • 查找所有报告人或经办人是Jack或Jill的所有问题:
    reporter in (Jack,Jill) or assignee in (Jack,Jill)
  • 查找影响版本是3.14 或 4.2的问题:
    affectedVersion in ("3.14", "4.2")

不在...之内 NOT IN

"NOT IN" 运算符用于排除多个指定字段值的问题。

使用 "NOT IN" 运算符相当于多个 #NOT_EQUALS (!=) 表达式, 但是使用起来更方便,更简短。也就是说,输入 reporter NOT IN (tom, jane, harry) 与输入 {{reporter != "tom" #AND reporter != "jane" #AND reporter != "harry"}}具有相同的效果。

示例
  • 查找所有报告人不是Jack或不是Jill或不是John的问题:
    reporter not in (Jack,Jill,John)
  • 查找修复版本不是 'A', 'B', 'C' 或不是 'D'的问题:
    FixVersion not in ( A, B, C, D)
  • 查找修复版本不是'A', 'B', 'C' 或不是 'D'的问题, 或者没有指定修复版本值的问题:
    FixVersion not in ( A, B, C, D) or FixVersion is empty


包含: ~

"~" 运算符用于匹配指定字段值的问题 (也可以使用精确匹配或 "模糊" 匹配 — 查看下面的示例)。 只能用于文本字段, 例如:

不能呈现 {include} 包含的页面未找到。

注意: 使用 "~" 运算符, 在运算符右侧的字段值可以使用 JIRA 文本搜索语法

示例
  • 查找主题中包括"full screen"词组的问题:
    summary ~ "\"full screen\""
  • 查找主题中包括 "win"单词 (或其衍生单词, 比如 "windows" 或 "winning")的问题:
    summary ~ win

不包括: !~

"!~" 运算符用于模糊匹配不包含指定字符的问题。 只能用于文本字段, 例如:

不能呈现 {include} 包含的页面未找到。

注意: 使用 "!~" 运算符, 在运算符右侧的字段值可以使用 JIRA 文本搜索语法

示例
  • 查找主题中不包括 "run"单词的问题 (或其衍生单词, 比如 "running" 或 "ran"):
    summary !~ run

是 IS

"IS" 运算符只能与 空(EMPTY)空(NULL)结合使用。 也就是说搜索指定字段没有赋值的问题。

注意不是所有的 字段 都可以使用这个运算符; 分别查看所有的 字段 参考了解具体用法。

示例
  • 查找修复版本没有赋值的所有问题:
    fixVersion is empty
    fixVersion is null

不是 IS NOT

"IS NOT" 运算符只能与 空(EMPTY)空(NULL)结合使用。也就是说搜索指定字段已经被赋值的问题。

注意不是所有的 字段 都可以使用这个运算符; 分别查看所有的 字段 参考了解具体用法。

示例
  • 查找所有被投票的问题:
    votes is not empty
    votes is not null


字段参考


影响版本

搜索指定影响版本的问题。 你可以按照版本名称或版本ID(JIRA自动为版本分配的数值)搜索 。

按照版本ID搜索比按照版本名称搜索更准确

不同的项目可能有相同名称的版本, 所有按照版本名称搜索可能会搜索到多个项目的问题。 当JIRA管理员更改版本的名称, 会使依赖版本名称的 过滤器 失效。 Version ID是唯一且无法修改的。

注意: 这个字段支持 自动完成

语法
affectedVersion
字段类型

版本 VERSION

支持的操作符
不能呈现 {include} 包含的页面未找到。

注意比较运算符 (如 ">") 使用 版本排序(链接到Atlassian网站) 只按照JIRA管理员设置的顺序, 而不按照数值或字母顺序。

支持的函数

当使用 在...之内(IN)不在...之内(NOT IN) 运算符时, affectedVersion 支持:

示例
  • 查找影响版本是 3.14的问题:
    affectedVersion = "3.14"
    (注意点(.)是保留 #字符, 所以你需要用引号括起来。)
  • 查找影响版本是"Big Ted"的问题:
    affectedVersion = "Big Ted"
  • 查找影响版本ID是 10350的问题:
    affectedVersion = 10350

经办人

搜索经办人是指定用户的问题。 你可以使用用户全名、ID或电子邮件地址。

注意: 这个字段支持 自动完成

语法
assignee
字段类型

用户 USER

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 #IN#NOT_IN 运算符时, assignee 支持:

当使用 等于不等于 运算符时, assignee 支持:

示例
  • 搜索分配给John Smith的问题:
    assignee = "John Smith"
    assignee = jsmith
  • 搜索经办人邮件地址是 "bob@mycompany.com"的问题:
    assignee = "bob@mycompany.com"
    (注意句号(.)和 "@" 符号是保留 #字符, 所以需要用引号将邮件地址括起来。)

类别

搜索属于指定项目类别的项目下的所有问题。

注意: 这个字段支持 自动完成

语法
category
字段类型

类别 CATEGORY

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 搜索属于 "内部项目"类别下的所有问题:
     category = "内部项目"


备注

搜索备注中包含指定字符的问题。

可以使用JIRA 文本搜索语法

注意: 这个字段不支持 自动完成

语法
comment
字段类型

文本 TEXT

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 模糊搜索备注中包含 "My PC is quite old"字符的问题:
    comment ~ "My PC is quite old"
  • 精确搜索备注中包含 "My PC is quite old"的问题:
    comment ~ "\"My PC is quite old\""

模块

搜索一个项目中的指定 模块的问题。 你可以按照模块名称或模块ID (JIRA自动分配给模块的数字)搜索。

搜索模块ID搜索比搜索模块名称更准确

不同的项目可能有相同的模块名称, 所以按照模块名称搜索可能会返回多个项目的问题。 JIRA管理员一旦修改了模块名称, 以模块名称为条件的 过滤器将无法使用。 模块ID是唯一且不能修改的。

注意: 这个字段支持自动完成

语法
component
字段类型

模块 COMPONENT

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 在...之内(IN)不在...之内(NOT IN) 运算符时, component 支持:

示例
  • 查找模块是 "Comp1" 或 "Comp2" 的问题:
     component in (Comp1, Comp2)
  • 查找模块是 "Comp1" 并且 也是"Comp2" 的问题:
     component in (Comp1) and component in (Comp2)
     component = Comp1 and component = Comp2
  • 查找模块ID是 20500的问题:
    component = 20500



创建日期

按照指定的创建日期范围搜索问题。

不能呈现 {include} 包含的页面未找到。

注意: 这个字段不支持 自动完成

语法
created

或者:

createdDate
字段类型

日期 DATE

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 等于, 不等于, 大于, 大于等于, 小于小于等于 运算符时, createdDate 支持:

示例
  • 查找2008年12月12日 00:00之前创建的问题(包括00:00):
    created <= "2008/12/12"
  • 查找1天以前创建的问题:
    created > "-1d"
  • 查找2009年1月创建的问题:
    created > "2008/12/31" and created < "2009/02/01"
  • 查找2009年1月15日创建的问题:
    created > "2009/01/14" and created < "2009/01/16"

自定义字段

只有当JIRA管理员已经创建了 自定义字段(链接到Atlassian网站)才有效

按照指定自定义字段值查找问题。

你可以按照自定义字段名称或自定义字段ID(JIRA自动为自定义字段分配的数值)搜索。

搜索自定义字段ID比搜索自定义字段名称更准确

JIRA中自定义字段名称可能会与系统字段名称相同, 这种情况下,如果按照自定义字段名称搜索,JIRA只会搜索系统个字段,而不搜索自定义字段。 一旦JIRA管理员修改了自定义字段名称, 以自定义字段名称为搜索条件的 过滤器 将无法工作。自定义字段ID是唯一且无法修改的。

注意:

  • JIRA文本搜索语法 可以用于'文本'类型的自定义字段。
  • 自动完成 支持选择器类型、用户组选择器类型, 选择列表类型 (不包括 '级联选择类型'), 复选框类型和单选按钮类型的自定义字段。
语法
CustomFieldName

或者:

cf[CustomFieldID]
字段类型

依赖于自定义字段(链接到Atlassian网站)的配置。

支持的运算符

不同类型的自定义字段支持不同的 运算符。 对于默认的自定义字段(链接到Atlassian网站), 支持下面的运算符:

  • 数值和日期/时间类型字段:
    不能呈现 {include} 包含的页面未找到。
  • 选择器, 选择列表, 复选框和单选按钮类型字段:
    不能呈现 {include} 包含的页面未找到。
  • 文本类型字段:
    不能呈现 {include} 包含的页面未找到。
支持的函数

不同类型的自定义字段支持不同的 函数。 对于默认的自定义字段(链接到Atlassian网站), 支持下面的函数:

示例
  • 查找自定义字段 "Location" 的值为 "New York"的问题:
    location = "New York"
  • 查找自定义字段ID 10003的值为"New York"的问题:
    cf[10003] = "New York"
  • 查找自定义字段"Location"的值为 "London" 或 "Milan" 或 "Paris"的问题:
    cf[10003] in ("London", "Milan", "Paris")
  • 查找自定义字段"Location"的值不为空的问题:
    location != empty

描述

搜索 描述中包含指定字符的问题。

可以使用JIRA文本搜索语法

注意: 这个字段不支持 自动完成

语法
description
字段类型

文本 TEXT

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 模糊搜索描述中包含 "Please see screenshot" 的问题:
    description ~ "Please see screenshot"
  • 精确搜索描述中包含 "Please see screenshot" 的问题:
    description ~ "\"Please see screenshot\""



逾期日期 Due

按照问题的逾期日期范围搜索问题。

不能呈现 {include} 包含的页面未找到。

注意逾期日期只能根据 日期 计算 (不能根据时间计算)。

注意: 这个字段不支持 自动完成

语法
due

或者:

dueDate
字段类型

日期 DATE

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 等于, 不等于, 大于, 大于等于, 小于小于等于 运算符时, dueDate 支持:

示例
  • 搜索截止2009年1月1日逾期的问题:
    due <= "2008/12/31"
  • 查找明天到期的问题:
    due = "1d"
  • 查找2009年1月到期的问题:
    due > "2008/12/31" and due < "2009/02/01"
  • 查找2009年1月15日到期的问题:
    due > "2009/01/14" and due < "2009/01/16"

环境

搜索 环境 字段中包含指定字符的问题。

可以使用JIRA文本搜索语法

注意: 这个字段不支持 自动完成

语法
environment
字段类型

文本 TEXT

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 模糊搜索环境中包括 "Third floor"的问题:
    environment ~ "Third floor"
  • 精确匹配环境中包含"Third floor"的问题:
    environment ~ "\"Third floor\""

过滤器

你可以直接在JQL中使用 保存的过滤器 。 可以使用过滤器名称或过滤器ID(JIRA自动为过滤器分配的数值)搜索。

搜索过滤器ID 比搜索过滤器名称更精确

一旦修改了过滤器名称, 以过滤器名称为条件的其他过滤器将失效。 过滤器 ID是唯一且不能更改的。

注意:

  • 输入的查询语句中的 排序 (ORDER BY) 表达式将会代替过滤器中的 ORDER BY 表达式。
  • 你不能执行或保存一个无限循环的过滤器 (例如 当一个被引用的过滤器中又引用的当前的过滤器,是无法执行的。)。
  • 这个字段支持 自动完成
    语法
    filter
    或者:
    request
    savedFilter
    searchRequest
字段类型

过滤器 FILTER

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 返回过滤器 "My Saved Filter" (过滤器ID是 12000)中经办人是jsmith的问题:
    filter = "My Saved Filter" and assignee = jsmith
    filter = 12000 and assignee = jsmith


修复版本

按照指定的 修复版本搜索问题。 你可以使用版本名称或版本ID (JIRA自动为版本分配的数值)搜索。

按照版本ID搜索比按照版本名称搜索更准确

不同的项目可能有相同名称的版本, 所有按照版本名称搜索可能会搜索到多个项目的问题。 当JIRA管理员更改版本的名称, 会使依赖版本名称的 过滤器 失效。 Version ID是唯一且无法修改的。

注意: 这个字段支持自动完成

语法
fixVersion
字段类型

版本 VERSION

支持的运算符
不能呈现 {include} 包含的页面未找到。

注意比较运算符 (如 ">") 使用 版本排序(链接到Atlassian网站) 只按照JIRA管理员设置的顺序, 而不按照数值或字母顺序。

支持的函数

当使用 在...之内(IN)不在...之内(NOT IN) 运算符时, fixVersion 支持:

示例
  • 查找修复版本是 3.14 或 4.2的问题:
     fixVersion in ("3.14", "4.2")
    (注意句号(.)是JIRA保留 #字符, 所以你需要用引号将其括起来。)
  • 查找修复版本是 "Little Ted"的问题:
    fixVersion = "Little Ted"
  • 查找修复版本ID 是10001的问题:
    fixVersion = 10001

问题键值

按照指定的 问题键值 或问题ID (JIRA自动为问题分配的数值)。

注意: 这个字段不支持 自动完成

语法
issueKey

或者:

id
issue
key
字段类型

问题 ISSUE

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 在...之内(IN)不在...之内(NOT IN) 运算符时, issueKey 支持:

示例
  • 查找键值是 "ABC-123"的问题:
    issueKey = ABC-123 

安全级别

只有当JIRA管理员 开启了问题安全级别(链接到Atlassian网站)时才有效

按照指定的 安全级别(连接到Atlassian网站)搜索问题。 你可以按照问题安全级别或问题安全级别ID(JIRA自动为问题安全级别分配的数值)搜索。

搜索安全级别ID比搜索安全级别名称更准确

一旦JIRA管理员修改了安全级别名称, 以安全级别名称为条件的 过滤器 将无法工作。 安全级别ID是唯一且不能被修改的。

注意: 这个字段支持自动完成

语法
level
字段类型

安全级别 SECURITY LEVEL

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 搜索安全级别是 "Really High" 或 "level1"的问题:
    level in ("Really High", level1)
  • 搜索安全级别ID 是123的问题:
    level = 123


初始预估时间

只有JIRA管理员 开启了事件跟踪 才有效

按照 初始预估时间 的值(只能是数字, 不能是日期或日期范围)搜索问题

使用 "w", "d", "h" 和 "m" 来指定周, 日, 小时或分钟。

注意: 这个字段不支持 自动完成

语法
originalEstimate

或者:

timeOriginalEstimate
字段类型

期间 DURATION

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找初始预估时间为1小时的问题:
    originalEstimate = 1h
  • 查找初始预估时间大于2天的问题:
    originalEstimate > 2d

父问题

只有当JIRA管理员 开启子任务(连接到Atlassian网站) 才有效

搜索指定问题的所有 子任务。 你可以按照 问题键值 或问题ID (JIRA自动为问题分配的数值)搜索。

注意: 这个字段不支持 自动完成

语法
parent
字段类型

问题 ISSUE

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 搜索问题 TEST-1234的所有子任务:
    parent = TEST-1234

优先级

按照指定的 优先级搜索问题。 你可以使用优先级名称或优先级ID (JIRA自动为优先级分配的数值)搜索。

搜索优先级ID比搜索优先级名称更准确

一旦JIRA管理员修改了优先级名称, 以优先级名称为搜索条件的 过滤器将无法工作。 优先级ID是唯一且无法更改的。

注意: 这个字段支持自动完成

语法
priority
字段类型

优先级 PRIORITY

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 搜索优先级时 "High"的问题:
     priority = High
  • 搜索优先级ID是10000的问题:
    priority = 10000

项目

搜索指定 项目 中的问题。

你可以按照 项目名称(链接到Atlassian网站), 或 项目键值(链接到Atlassian网站) 或项目ID (JIRA自动为项目分配的数值)搜索。

注意: 这个字段支持自动完成

语法
project
字段类型

项目 PROJECT

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 在...之内(IN)不在...之内(NOT IN)运算符时, project 支持:

示例
  • 查找项目名称是 "ABC Project"的问题:
     project = "ABC Project" 
  • 查找项目键值是 "ABC"的问题:
    project = "ABC"
  • 查找项目ID是 "1234"的问题:
    project = 1234


剩余预估时间

只有JIRA管理员 开启了事件跟踪 才有效

按照 剩余预估时间 的值(只能是数字, 不能是日期或日期范围)搜索问题

使用 "w", "d", "h" 和 "m" 来指定周, 日, 小时或分钟。

注意: 这个字段不支持 自动完成

语法
remainingEstimate

Alias:

timeEstimate
字段类型

期间 DURATION

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找剩余预估时间大于4小时的问题:
     remainingEstimate > 4h 

报告人

按照指定的报告人(创建人)搜索问题。

你可以按照用户全称、ID或邮件地址搜索。

注意: 这个字段支持自动完成

语法
reporter
字段类型

用户 USER

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 在...之内(IN)不在...之内(NOT IN) 运算符时, reporter 支持:

当使用 等于不等于 运算符时, reporter 支持:

示例
  • 搜索由Jill Johns创建的问题:
    reporter = "Jill Jones"
    reporter = jjones
  • 搜索报告人邮件地址是"bob@mycompany.com"的问题:
    assignee = "bob@mycompany.com"
    (注意句号(.)和 "@" 符号是JIRA保留 #字符, 所以你需要用引号将其括起来。)

解决结果

按照指定的 解决结果搜索问题。

你可以将解决结果的名称和ID(JIRA自动为解决结果分配的数值)作为搜索条件。

搜索解决结果ID比搜索解决结果名称更准确

一旦JIRA管理员更改了解决结果的名称, 以解决结果名称为条件的 过滤器 将无法工作。 而解决结果ID是唯一且不能修改的。

注意: 这个字段支持自动完成

语法
resolution
字段类型

解决结果 RESOLUTION

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找解决方法为"Cannot Reproduce" 或 "Won't Fix"的问题:
     resolution in ("Cannot Reproduce", "Won't Fix")
  • 查找解决方法ID为5的问题:
    resolution = 5
  • 查找还没有解决的问题:
    resolution = unresolved



解决日期

按照指定的解决日期或解决日期的范围查找问题。

不能呈现 {include} 包含的页面未找到。

注意: 这个字段不支持 自动完成

语法
resolved

或者:

resolutionDate
字段类型

日期 DATE

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 等于, 不等于, 大于, 大于等于, 小于#LESS_THAN_EQUALS 运算符时, resolved 支持:

示例
  • 查找2008年12月31日00:00之前解决的问题:
    resolved <= "2008/12/31"
  • 查找2009年1月解决的问题:
    resolved > "2008/12/31" and resolved < "2009/02/01"
  • 查找2009年1月15日解决的问题:
    resolved > "2009/01/14" and resolved < "2009/01/16"
  • 查找前一小时之内解决的问题:
    resolved > -1h

状态

按照指定的 状态查找问题。

你可以按照状态名称或状态ID(JIRA自动为状态分配的数值)搜索问题。

搜索状态ID比搜索状态名称更准确

一旦JIRA管理员更改了状态名称,按照状态名称为搜索条件的 过滤器 将无法工作。 状态ID是唯一且无法更改的。

注意: 这个字段支持自动完成

语法
status
字段类型

状态 STATUS

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找状态是"Open"的问题:
     status = Open
  • 查找状态ID 是1的问题:
    status = 1

主题

按照主题中指定的字符查找问题。

可以使用JIRA 文本搜索语法

注意: 这个字段不支持自动完成

语法
summary
字段类型

文本 TEXT

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 模糊查找主题中包含 "Error saving file"的问题:
    summary ~ "Error saving file"
  • 精确查找主题中包含 "Error saving file"的问题:
    summary ~ "\"Error saving file\""


文本

可以在以下文本字段内容中查找包含指定字符的问题:

不能呈现 {include} 包含的页面未找到。

注意: text 只能和 包含 运算符 ("~" 以及 "!~")结合使用。

语法
text
字段类型

文本 TEXT

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找文本字段中包括"Fred"的问题:
    text ~ "Fred"
    or
    text ~ Fred
  • 精确查找文本字段中包括"full screen"的问题:
    text ~ "\"full screen\""

问题类型

按照指定的 问题类型搜索问题

你可以按照问题类型名称或问题类型ID (JIRA自动为问题类型分配的数值)搜索问题。

搜索问题类型ID比搜索问题类型名称更准确

一旦JIRA管理员修改了问题类型名称,以问题类型名称为搜索条件的过滤器 将无法工作。 问题类型ID是唯一且不能修改的。

注意: 这个字段支持自动完成

语法
type

或者:

issueType
字段类型

问题类型 ISSUE_TYPE

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找问题类型是"Bug"的问题:
    type = Bug
  • 查找问题类型是"Bug" 或 "Improvement"的问题:
     issueType in (Bug,Improvement)
  • 查找问题类型ID是2的问题:
    issueType = 2


实际工作时间

只有当JIRA管理员 开启了时间跟踪(链接到)才有效

按照 实际工作时间 的值 (只能是数字,不能是日期或日期范围)搜索问题。

使用 "w", "d", "h" 和 "m" 来指定周, 日, 小时或分钟。

注意: 这个字段不支持自动完成

语法
timeSpent
字段类型

期间 DURATION

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找实际工作时间大于5天的问题:
    timeSpent > 5d



更新日期

按照指定的日期或日期范围查找被更新的问题。

不能呈现 {include} 包含的页面未找到。

注意: 这个字段不支持自动完成

语法
updated

或者:

updatedDate
字段类型

日期 DATE

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 等于, 不等于, 大于, 大于等于, 小于#LESS_THAN_EQUALS 运算符时, updated 支持:

示例
  • 查找2008年12月12日00:00之前更新的问题:
    updated <= "2008/12/12"
  • 查找2周之前更新的问题:
    updated < "-2w"
  • 查找2009年1月15日更新的问题:
    updated > "2009/01/14" and updated < "2009/01/16"
  • 查找2009年1月更新的问题:
    updated > "2008/12/31" and updated < "2009/02/01"


投票人

按照指定的投票人查找问题。 你可以按照用户全名、ID 或电子邮件地址搜索。 需要注意的是,你必须拥有 "查看投票人及关注者"权限(链接到Atlassian网站)才能根据投票人搜索问题, 否则你只能搜索你自己投票的问题。具体内容参见 投票的问题

注意: 这个字段支持自动完成

语法
voter
字段类型

USER

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 在...之内(IN)不在...之内(NOT IN) 运算符时, voter 支持:

当使用 等于 以及 不等于 运算符时, voter 支持:

示例
  • 搜索你自己投票的问题:
    voter = currentUser()
  • 搜索 "jsmith" 投票的问题:
    voter = "jsmith"
  • 搜索用户组 "jira-developers"所有成员投票的问题:
    voter in membersOf("jira-developers")

投票数量

搜索指定投票数量的问题。

注意: 这个字段不支持自动完成

语法
votes
字段类型

NUMBER

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找投票数大于等于12的问题:
    votes >= 12


关注人

按照指定关注人搜索问题。 你可以按照用户全称、ID或电子邮件地址搜索。 需要注意的是,你必须拥有 "查看投票人及关注者"权限(链接到Atlassian网站)才能根据关注人搜索问题, 否则你只能搜索你自己关注的问题。具体信息请参阅 关注的问题

注意: 这个字段支持自动完成

语法
voter
字段类型

USER

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

当使用 在...之内(IN)不在...之内(NOT IN) 运算符时, watcher 支持:

当使用 等于不等于 运算符时, watcher 支持:

示例
  • 搜索你关注的问题:
    watcher = currentUser()
  • 搜索 "jsmith" 关注的问题:
    watcher = "jsmith"
  • 搜索用户组"jira-developers"的成员关注的问题:
    watcher in membersOf("jira-developers")


工作时间比率

只有当JIRA管理员 开启了时间跟踪(链接到)才有效

按照指定的工作时间比率的值搜索问题。

工作时间比率的计算公式是: 工作时间比率 = 实际工作时间 / 初始预估时间) x 100

注意: 这个字段不支持自动完成

语法
workRatio
字段类型

数值 NUMBER

支持的运算符
不能呈现 {include} 包含的页面未找到。
支持的函数

n/a

示例
  • 查找实际工作时间占初始预估时间百分比大于75%的问题:
     workRatio > 75


函数参考

级联选择列表值 cascadeOption()

Search for issues that match the selected values of a 'cascading select' custom field.

The parentOption parameter matches against the first tier of options in the cascading select field. The childOption parameter matches against the second tier of options in the cascading select field, and is optional.

The keyword "none" can be used to search for issues where either or both of the options have no value.

语法
cascadeOption(parentOption)

或者

cascadeOption(parentOption,childOption)
支持的字段类型

级联选择列表 CASCADING_OPTION

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues where a custom field ("Location") has the value "USA" for the first tier and "New York" for the second tier:
    location in cascadeOption("USA","New York")
  • Find issues where a custom field ("Location") has the value "USA" for the first tier and any value (or no value) for the second tier:
    location in cascadeOption("USA")
  • Find issues where a custom field ("Location") has the value "USA" for the first tier and no value for the second tier:
    location in cascadeOption("USA",none)
  • Find issues where a custom field ("Location") has no value for the first tier and no value for the second tier:
    location in cascadeOption(none)
  • Find issues where a custom field ("Referrer") has the value "none" for the first tier and "none" for the second tier:
    referrer in cascadeOption("\"none\"","\"none\"")
  • Find issues where a custom field ("Referrer") has the value "none" for the first tier and no value for the second tier:
    referrer in cascadeOption("\"none\"",none)

模块负责人 componentsLeadByUser()

Find issues in components that are lead by a specific user.

You can optionally specify a user, or if the user is omitted the current user (i.e. you) will be used.

Note that if you are not logged in to JIRA, a user must be specified.

语法
componentsLeadByUser()

componentsLeadByUser(username)
支持的字段类型

模块 COMPONENT

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find open issues in components that are lead by you:
    component in componentsLeadByUser() AND status = Open
  • Find open issues in components that are lead by Bill:
    component in componentsLeadByUser(bill) AND status = Open

当前用户进程 currentLogin()

Perform searches based on the time at which the current user's session began. See also #lastLogin.

语法
currentLogin()
支持的字段类型

日期 DATE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues that have been created during my current session:
    created > currentLogin()

当前用户 currentUser()

Perform searches based on the currently logged-in user.

Note that this function can only be used by logged-in users. So if you are creating a saved filter that you expect to be used by anonymous users, do not use this function.

语法
currentUser()
支持的字段类型

用户 USER

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues that are assigned to me:
    assignee = currentUser()
  • Find issues that were reported to me but are not assigned to me:
    reporter = currentUser() and assignee != currentUser()

issueHistory()

Find issues that you have recently viewed, i.e. issues that are in the 'Recent Issues' section of the 'Issues' drop-down menu.

Note:

  • issueHistory() returns up to 50 issues, whereas the 'Recent Issues' drop-down returns only 5.
  • if you are not logged in to JIRA, only issues from your current browser session will be included.
语法
issueHistory()
支持的字段类型

ISSUE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues which I have recently viewed, that are assigned to me:
    issue in issueHistory() AND assignee = currentUser()

lastLogin()

Perform searches based on the time at which the current user's previous session began. See also #currentLogin.

语法
currentLogin()
支持的字段类型

DATE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues that have been created during my last session:
    created > lastLogin()

linkedIssues()

Perform searches based on issues which are linked to a specified issue.

You can optionally restrict the search to links of a particular type. Note that LinkType is case-sensitive.

语法
linkedIssues(issueKey)

or

linkedIssues(issueKey,linkType)
支持的字段类型

ISSUE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues that are linked to a particular issue:
    issue in linkedIssues(ABC-123)
  • Find issues that are linked to a particular issue via a particular type of link:
    issue in linkedIssues(ABC-123,"is duplicated by")

membersOf()

Perform searches based on the members of a particular group.

语法
membersOf(Group)
支持的字段类型

USER

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues where the Assignee is a member of the group "jira-developers":
    assignee in membersOf("jira-developers")
  • Search through multiple groups and a specific user, e.g:
    reporter in membersOf("jira-developers") or reporter in membersOf("jira-administrators") or reporter=jsmith
  • Search for a particular group, but exclude a particular member or members, e.g.:
    assignee in membersOf(QA) and assignee not in ("John Smith","Jill Jones")
  • Exclude members of a particular group:
    assignee not in membersOf(QA)

now()

Perform searches based on the current time.

语法
now()
支持的字段类型

DATE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues that are overdue:
    duedate < now() and status not in (closed, resolved) 

projectsLeadByUser()

Find issues in projects that are lead by a specific user.

You can optionally specify a user, or if the user is omitted the current user will be used.

Note that if you are not logged in to JIRA, a user must be specified.

语法
projectsLeadByUser()

or

projectsLeadByUser(username)
支持的字段类型

PROJECT

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find open issues in projects that are lead by you:
    project in projectsLeadByUser() AND status = Open
  • Find open issues in projects that are lead by Bill:
    project in projectsLeadByUser(bill) AND status = Open

projectsWhereUserHasPermission()

Find issues in projects where you have a specific permission.

Note that this function is only available if you are logged in to JIRA.

语法
projectsWhereUserHasPermission(permission)

For the permission parameter you can specify any of the following:

不能呈现 {include} 包含的页面未找到。
支持的字段类型

PROJECT

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find open issues in projects where you have the "Resolve Issues" permission:
    project in projectsWhereUserHasPermission("Resolve Issues") AND status = Open

projectsWhereUserHasRole()

Find issues in projects where you have a specific role.

注意只有登录JIRA后才能使用这个函数。

语法
projectsWhereUserHasRole(rolename)
支持的字段类型

PROJECT

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find open issues in projects where you have the "Developers" role:
    project in projectsWhereUserHasRole("Developers") AND status = Open

releasedVersions()

Perform searches based on the released versions (i.e. versions that your JIRA administrator has released) of a specified project.

You can also search on the released versions of all projects, by omitting the project parameter.

语法
releasedVersions()

or

releasedVersions(project)
支持的字段类型

VERSION

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues whose #FixVersion is a released version of the ABC project:
    fixVersion in releasedVersions(ABC)
  • Find issues that relate to released versions of the ABC project:
    affectedVersion in releasedVersions(ABC)
    or
    fixVersion in releasedVersions(ABC)

standardIssueTypes()

Perform searches based on "standard" Issue Types, that is, search for issues which are not sub-tasks.

语法
standardIssueTypes()
支持的字段类型

ISSUE_TYPE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues that are not subtasks (i.e. issues whose Issue Type is a standard issue type, not a subtask issue type):
    issuetype in standardIssueTypes()

subtaskIssueTypes()

Perform searches based on issues which are sub-tasks.

语法
subtaskIssueTypes()
支持的字段类型

ISSUE_TYPE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues that are subtasks (i.e. issues whose Issue Type is a subtask issue type):
    issuetype in subtaskIssueTypes()

unreleasedVersions()

Perform searches based on the unreleased versions (i.e. versions that your JIRA administrator has not yet released) of a specified project.

You can also search on the unreleased versions of all projects, by omitting the project parameter.

语法
unreleasedVersions()

or

unreleasedVersions(project)
支持的字段类型

版本 VERSION

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues whose #FixVersion is an unreleased version of the ABC project:
    fixVersion in unreleasedVersions(ABC)
  • Find issues that relate to unreleased versions of the ABC project:
    affectedVersion in unreleasedVersions(ABC)
    or
    fixVersion in unreleasedVersions(ABC)

votedIssues()

Perform searches based on issues for which you have voted. Also see the #Voter field.

Note that this function can only be used by logged-in users.

语法
votedIssues()
支持的字段类型

问题 ISSUE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • 查找你投票的问题:
    issue in votedIssues()

watchedIssues()

Perform searches based on issues which you are watching. Also see the #Watcher field.

Note that this function can only be used by logged-in users.

语法
watchedIssues()
支持的字段类型

ISSUE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • Find issues that you are watching:
    issue in watchedIssues()
支持的字段类型

问题 ISSUE

支持的运算符
不能呈现 {include} 包含的页面未找到。
示例
  • 查找最近刚刚查看过的问题:
    issue in issueHistory()

Setting Precedence of Operators

You can use parentheses in complex JQL statements to enforce the precedence of #operators.

For example, if you want to find all resolved issues in the SysAdmin project as well as all issues (any status, any project) currently assigned to the system administrator (bobsmith), you can use parentheses to enforce the precedence of the boolean operators in your query, i.e.:

(status=resolved AND project=SysAdmin) OR assignee=bobsmith

Note that if you do not use parentheses, the statement will be evaluated left-to-right.

You can also use parentheses to group clauses, so that you can apply the #NOT operator to the group.

Performing Text Searches

You can use Lucene's text-searching features when performing searches on the following fields, using the #CONTAINS operator:

For details, please see the page on Performing Text Searches, which includes the following sections:

呈现宏 'excerpt-include' 时发生错误

No link could be created for 'quickstart:Performing Text Searches'.

Using Auto-complete

As you type your query, JIRA will recognise the context and offer a list of "auto-complete" suggestions as follows:

The list of auto-complete suggestions is displayed alphabetically and includes the first 15 matches. Note that auto-complete suggestions are not offered for #function parameters.

Please note:

  • If no auto-complete suggestions are offered, your administrator may have disabled the "JQL Auto-complete" feature for your JIRA instance.
  • If you prefer not to be offered auto-complete suggestions, click the "Turn off auto-complete" link below the "#Query" box.

Auto-complete suggestions are not offered for all fields. Check the #fields reference to see which fields support auto-complete.

If you type a space at the start of your query...

...JIRA will offer a list of all available fields, e.g.:

If you type one or more characters...

...JIRA will offer a list of matching fields, e.g.:

If you type a field then a space...

...JIRA will offer a list of valid #operators, e.g.:

If you type a field, then an operator, then a space...

...JIRA will offer a list of valid values, e.g.:

If you type a field, then an operator, then one or more characters...

...JIRA will offer a list of valid values (if your #field supports this) and valid functions for the field/operator combination, e.g.:


Switching between 'Advanced' and 'Simple' Search

In general, a query created using 'Simple Search' will be able to be translated to 'Advanced Search' (i.e. JQL), and back again.

However, a query created using 'Advanced Search' may not be able to be translated to 'Simple Search', particular if:

  • the query contains an OR operator (note you can have an IN operator and it will be translated, e.g. project in (A, B))
    • i.e. even though this query: (project = JRA OR project = CONF) is equivalent to this query:(project in (JRA, CONF)), only the second query will be translated.
  • the query contains a NOT operator
  • the query contains an EMPTY operator
  • the query contains any of the comparison operators: !=, IS, IS NOT, >, >=, <, <=
  • the query specifies a field and value that is related to a project (e.g. version, component, custom fields) and the project is not explicitly included in the query (e.g.
    fixVersion = "4.0", without the AND project=JRA). This is especially tricky with custom fields since they can be configured on a Project/Issue Type basis. The general rule of thumb is
    that if the query cannot be created in the 'Simple Search' form, then if it is created using 'Advanced Search' it will not be able to be translated to 'Simple Search'.

保留的字符

JQL保留了一些特定字符。如果你需要在查询语句中使用下面的字符,你必须用引号将其括起来:

  • space (" ")
  • "+"
  • "."
  • ","
  • ";"
  • "?"
  • "|"
  • "'"
  • "*"
  • "/"
  • "%"
  • "^"
  • "$"
  • "#"
  • "@"

你既可以使用单引号 (') 也可以使用双引号 (").

If your search term contains a quote-mark, you will need to precede it with the escape character (back-slash), e.g.:

"Type your name in the \"Login\" box"

If you use a single quote to escape your search term, then you can use the double quote (without escaping it) inside the single quotes; but you will have to escape any other single quotes. And vice-versa.

Note that there is an additional list of reserved characters for Text Searches, which applies to the following fields:

不能呈现 {include} 包含的页面未找到。
.

保留的单词

JQL保留了一些专用的单词. 如果你需要在查询语句中使用下面的单词,必须用引号将其括起来:

"abort", "access", "add", "after", "alias", "all", "alter", "and", "any", "as", "asc",
"audit", "avg", "before", "begin", "between", "boolean", "break", "by", "byte", "catch", "cf",
"char", "character", "check", "checkpoint", "collate", "collation", "column", "commit", "connect", "continue",
"count", "create", "current", "date", "decimal", "declare", "decrement", "default", "defaults", "define", "delete",
"delimiter", "desc", "difference", "distinct", "divide", "do", "double", "drop", "else", "empty", "encoding",
"end", "equals", "escape", "exclusive", "exec", "execute", "exists", "explain", "false", "fetch", "file", "field",
"first", "float", "for", "from", "function", "go", "goto", "grant", "greater", "group", "having",
"identified", "if", "immediate", "in", "increment", "index", "initial", "inner", "inout", "input", "insert",
"int", "integer", "intersect", "intersection", "into", "is", "isempty", "isnull", "join", "last", "left",
"less", "like", "limit", "lock", "long", "max", "min", "minus", "mode", "modify",
"modulo", "more", "multiply", "next", "noaudit", "not", "notin", "nowait", "null", "number", "object",
"of", "on", "option", "or", "order", "outer", "output", "power", "previous", "prior", "privileges",
"public", "raise", "raw", "remainder", "rename", "resource", "return", "returns", "revoke", "right", "row",
"rowid", "rownum", "rows", "select", "session", "set", "share", "size", "sqrt", "start", "strict",
"string", "subtract", "sum", "synonym", "table", "then", "to", "trans", "transaction", "trigger", "true",
"uid", "union", "unique", "update", "user", "validate", "values", "view", "when", "whenever", "where",
"while", "with"

你既可以使用单引号 (') 也可以使用双引号 (").

(JIRA管理员请注意: 上面列表是 JqlStringSupportImpl.java 文件的固定编码。)

注意还有一些其他 文本搜索的保留字段, which applies to the following fields:

不能呈现 {include} 包含的页面未找到。
.

  • 无标签