本页面的内容:
通过高级搜索,你可以使用结构化查询语言搜索JIRA的问题。 搜索的结果会显示在 问题导航器中, 然后你可以将搜索结果输出为 MS Excel格式 以及 其他格式。 你还可以 保存 以及 订阅搜索结果。
查询语句由一个 字段, 运算符, 和 值 或 _函数_构成。 例如, 下面的查询语句将返回 "TEST"项目的所有问题:
project = "TEST" |
(这个例子使用了 项目(project) 字段, 等于 符号, 和 值 "TEST"
。)
注意不能比较两个 字段。
当你执行高级搜索时, 你使用的是JIRA查询语言(JQL)。 JQL类似SQL表达式, 比如 #> 和 #NULL。 当然, 你不能使用数据库查询语言; 例如, JQL不能使用 SELECT
表达式。
与 AND用于整合多个查询条件, 允许你精炼查询条件。 注意,你可以使用 括号 来控制查询条件的执行顺序。 示例
或 OR用户整合多个查询条件, 允许你扩展查询条件。 注意,你可以使用 括号 来控制查询条件的执行顺序。 (注意: 也可以查看 在...之中(IN)章节, 使用更方便的方法搜索多个字段的值。) 示例
非 NOT用于否定一个运算符或整个查询条件, 允许你优化查询条件。 注意,你可以使用 括号 来控制查询条件的执行顺序。 (注意: 也可以查看 不等于 ("!="), 不包括 ("!~"), 不再...之中 和 不是章节) 示例
空 EMPTY用于搜索没有值的字段。 也可以查看空(NULL)。 注意 EMPTY 只能与 是(IS) 和 不是(IS NOT) 运算符结合使用。 要查看字段支持的运算符, 点击 #字段 。 示例
空 NULL用于搜索字段没有赋值的问题。 请查看 空(EMPTY)。 注意 NULL 只能用于支持 是(IS) 和 不是(IS NOT) 操作符的字段。 要了解字段支持哪些操作符, 请查看每个 字段 参考。 示例
排序 ORDER BY用于对输出的结果,按照指定的字段排序。 默认情况下, 按照字段输出顺序排序。 你可以指定按照升序 (" 示例
|
等于: = " 要精确匹配多个字段值,请使用与(AND)将多个 " 示例
不等于: != " 注意输入 示例
大于: > " 注意 " 示例
大于等于: >= " 注意 " 示例
小于: <The " 注意" 示例
小于等于: <=The " 注意 " 示例
在...之内 IN " 使用 " 示例
不在...之内 NOT IN " 使用 " 示例
包含: ~ " 注意: 使用 " 示例
不包括: !~ " 注意: 使用 " 示例
是 IS " 注意不是所有的 字段 都可以使用这个运算符; 分别查看所有的 字段 参考了解具体用法。 示例
不是 IS NOT" 注意不是所有的 字段 都可以使用这个运算符; 分别查看所有的 字段 参考了解具体用法。 示例
|
影响版本搜索指定影响版本的问题。 你可以按照版本名称或版本ID(JIRA自动为版本分配的数值)搜索 。
注意: 这个字段支持 自动完成。 语法
字段类型版本 VERSION 支持的操作符注意比较运算符 (如 ">") 使用 版本排序(链接到Atlassian网站) 只按照JIRA管理员设置的顺序, 而不按照数值或字母顺序。 支持的函数当使用 在...之内(IN) 和 不在...之内(NOT IN) 运算符时, 示例
经办人搜索经办人是指定用户的问题。 你可以使用用户全名、ID或电子邮件地址。 注意: 这个字段支持 自动完成。 语法
字段类型用户 USER 支持的运算符支持的函数当使用 #IN 和 #NOT_IN 运算符时, 当使用 等于 和 不等于 运算符时, 示例
类别搜索属于指定项目类别的项目下的所有问题。 注意: 这个字段支持 自动完成。 语法
字段类型类别 CATEGORY 支持的运算符支持的函数n/a 示例
备注搜索备注中包含指定字符的问题。 可以使用JIRA 文本搜索语法 。 注意: 这个字段不支持 自动完成。 语法
字段类型文本 TEXT 支持的运算符支持的函数n/a 示例
模块搜索一个项目中的指定 模块的问题。 你可以按照模块名称或模块ID (JIRA自动分配给模块的数字)搜索。
注意: 这个字段支持自动完成。 语法
字段类型模块 COMPONENT 支持的运算符支持的函数当使用 在...之内(IN) 和 不在...之内(NOT IN) 运算符时, 示例
创建日期按照指定的创建日期范围搜索问题。 注意: 这个字段不支持 自动完成。 语法
或者:
字段类型日期 DATE 支持的运算符支持的函数当使用 等于, 不等于, 大于, 大于等于, 小于 或 小于等于 运算符时, 示例
自定义字段只有当JIRA管理员已经创建了 自定义字段(链接到Atlassian网站)才有效 按照指定自定义字段值查找问题。 你可以按照自定义字段名称或自定义字段ID(JIRA自动为自定义字段分配的数值)搜索。
注意:
语法
或者:
字段类型依赖于自定义字段(链接到Atlassian网站)的配置。 支持的运算符不同类型的自定义字段支持不同的 运算符。 对于默认的自定义字段(链接到Atlassian网站), 支持下面的运算符:
支持的函数不同类型的自定义字段支持不同的 函数。 对于默认的自定义字段(链接到Atlassian网站), 支持下面的函数:
示例
描述搜索 描述中包含指定字符的问题。 可以使用JIRA文本搜索语法。 注意: 这个字段不支持 自动完成。 语法
字段类型文本 TEXT 支持的运算符支持的函数n/a 示例
逾期日期 Due按照问题的逾期日期范围搜索问题。 注意逾期日期只能根据 日期 计算 (不能根据时间计算)。 注意: 这个字段不支持 自动完成。 语法
或者:
字段类型日期 DATE 支持的运算符支持的函数当使用 等于, 不等于, 大于, 大于等于, 小于 或 小于等于 运算符时, 示例
环境搜索 环境 字段中包含指定字符的问题。 可以使用JIRA文本搜索语法。 注意: 这个字段不支持 自动完成。 语法
字段类型文本 TEXT 支持的运算符支持的函数n/a 示例
过滤器你可以直接在JQL中使用 保存的过滤器 。 可以使用过滤器名称或过滤器ID(JIRA自动为过滤器分配的数值)搜索。
注意:
字段类型过滤器 FILTER 支持的运算符支持的函数n/a 示例
修复版本按照指定的 修复版本搜索问题。 你可以使用版本名称或版本ID (JIRA自动为版本分配的数值)搜索。
注意: 这个字段支持自动完成。 语法
字段类型版本 VERSION 支持的运算符注意比较运算符 (如 ">") 使用 版本排序(链接到Atlassian网站) 只按照JIRA管理员设置的顺序, 而不按照数值或字母顺序。 支持的函数当使用 在...之内(IN) 和 不在...之内(NOT IN) 运算符时, 示例
问题键值按照指定的 问题键值 或问题ID (JIRA自动为问题分配的数值)。 注意: 这个字段不支持 自动完成。 语法
或者:
字段类型问题 ISSUE 支持的运算符支持的函数当使用 在...之内(IN) 或 不在...之内(NOT IN) 运算符时, 示例
安全级别只有当JIRA管理员 开启了问题安全级别(链接到Atlassian网站)时才有效 按照指定的 安全级别(连接到Atlassian网站)搜索问题。 你可以按照问题安全级别或问题安全级别ID(JIRA自动为问题安全级别分配的数值)搜索。
注意: 这个字段支持自动完成。 语法
字段类型安全级别 SECURITY LEVEL 支持的运算符支持的函数n/a 示例
初始预估时间只有JIRA管理员 开启了事件跟踪 才有效 按照 初始预估时间 的值(只能是数字, 不能是日期或日期范围)搜索问题 使用 "w", "d", "h" 和 "m" 来指定周, 日, 小时或分钟。 注意: 这个字段不支持 自动完成。 语法
或者:
字段类型期间 DURATION 支持的运算符支持的函数n/a 示例
父问题只有当JIRA管理员 开启子任务(连接到Atlassian网站) 才有效 搜索指定问题的所有 子任务。 你可以按照 问题键值 或问题ID (JIRA自动为问题分配的数值)搜索。 注意: 这个字段不支持 自动完成。 语法
字段类型问题 ISSUE 支持的运算符支持的函数n/a 示例
优先级按照指定的 优先级搜索问题。 你可以使用优先级名称或优先级ID (JIRA自动为优先级分配的数值)搜索。
注意: 这个字段支持自动完成。 语法
字段类型优先级 PRIORITY 支持的运算符支持的函数n/a 示例
项目搜索指定 项目 中的问题。 你可以按照 项目名称(链接到Atlassian网站), 或 项目键值(链接到Atlassian网站) 或项目ID (JIRA自动为项目分配的数值)搜索。 注意: 这个字段支持自动完成。 语法
字段类型项目 PROJECT 支持的运算符支持的函数当使用 在...之内(IN) 和 不在...之内(NOT IN)运算符时,
示例
剩余预估时间只有JIRA管理员 开启了事件跟踪 才有效 按照 剩余预估时间 的值(只能是数字, 不能是日期或日期范围)搜索问题 使用 "w", "d", "h" 和 "m" 来指定周, 日, 小时或分钟。 注意: 这个字段不支持 自动完成。 语法
Alias:
字段类型期间 DURATION 支持的运算符支持的函数n/a 示例
报告人按照指定的报告人(创建人)搜索问题。 你可以按照用户全称、ID或邮件地址搜索。 注意: 这个字段支持自动完成。 语法
字段类型用户 USER 支持的运算符支持的函数当使用 在...之内(IN) 或 不在...之内(NOT IN) 运算符时, 当使用 等于 和 不等于 运算符时, 示例
解决结果按照指定的 解决结果搜索问题。 你可以将解决结果的名称和ID(JIRA自动为解决结果分配的数值)作为搜索条件。
注意: 这个字段支持自动完成。 语法
字段类型解决结果 RESOLUTION 支持的运算符支持的函数n/a 示例
解决日期按照指定的解决日期或解决日期的范围查找问题。 注意: 这个字段不支持 自动完成。 语法
或者:
字段类型日期 DATE 支持的运算符支持的函数当使用 等于, 不等于, 大于, 大于等于, 小于 或 #LESS_THAN_EQUALS 运算符时, 示例
状态按照指定的 状态查找问题。 你可以按照状态名称或状态ID(JIRA自动为状态分配的数值)搜索问题。
注意: 这个字段支持自动完成。 语法
字段类型状态 STATUS 支持的运算符支持的函数n/a 示例
主题按照主题中指定的字符查找问题。 可以使用JIRA 文本搜索语法 。 注意: 这个字段不支持自动完成。 语法
字段类型文本 TEXT 支持的运算符支持的函数n/a 示例
文本可以在以下文本字段内容中查找包含指定字符的问题: 注意: 语法
字段类型文本 TEXT 支持的运算符支持的函数n/a 示例
问题类型按照指定的 问题类型搜索问题 你可以按照问题类型名称或问题类型ID (JIRA自动为问题类型分配的数值)搜索问题。
注意: 这个字段支持自动完成。 语法
或者:
字段类型问题类型 ISSUE_TYPE 支持的运算符支持的函数n/a 示例
实际工作时间只有当JIRA管理员 开启了时间跟踪(链接到)才有效 按照 实际工作时间 的值 (只能是数字,不能是日期或日期范围)搜索问题。 使用 "w", "d", "h" 和 "m" 来指定周, 日, 小时或分钟。 注意: 这个字段不支持自动完成。 语法
字段类型期间 DURATION 支持的运算符支持的函数n/a 示例
更新日期按照指定的日期或日期范围查找被更新的问题。 注意: 这个字段不支持自动完成。 语法
或者:
字段类型日期 DATE 支持的运算符支持的函数当使用 等于, 不等于, 大于, 大于等于, 小于 或 #LESS_THAN_EQUALS 运算符时, 示例
投票人按照指定的投票人查找问题。 你可以按照用户全名、ID 或电子邮件地址搜索。 需要注意的是,你必须拥有 "查看投票人及关注者"权限(链接到Atlassian网站)才能根据投票人搜索问题, 否则你只能搜索你自己投票的问题。具体内容参见 投票的问题。 注意: 这个字段支持自动完成。 语法
字段类型USER 支持的运算符支持的函数当使用 在...之内(IN)和不在...之内(NOT IN) 运算符时, 示例
投票数量搜索指定投票数量的问题。 注意: 这个字段不支持自动完成。 语法
字段类型NUMBER 支持的运算符支持的函数n/a 示例
关注人按照指定关注人搜索问题。 你可以按照用户全称、ID或电子邮件地址搜索。 需要注意的是,你必须拥有 "查看投票人及关注者"权限(链接到Atlassian网站)才能根据关注人搜索问题, 否则你只能搜索你自己关注的问题。具体信息请参阅 关注的问题。 注意: 这个字段支持自动完成。 语法
字段类型USER 支持的运算符支持的函数当使用 在...之内(IN) 和 不在...之内(NOT IN) 运算符时, 当使用 等于 和 不等于 运算符时, 示例
工作时间比率只有当JIRA管理员 开启了时间跟踪(链接到)才有效 按照指定的工作时间比率的值搜索问题。 工作时间比率的计算公式是: 工作时间比率 = 实际工作时间 / 初始预估时间) x 100 注意: 这个字段不支持自动完成。 语法
字段类型数值 NUMBER 支持的运算符支持的函数n/a 示例
|
级联选择列表值 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 语法
或者
支持的字段类型级联选择列表 CASCADING_OPTION 支持的运算符示例
模块负责人 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. 语法
或
支持的字段类型模块 COMPONENT 支持的运算符示例
当前用户进程 currentLogin()Perform searches based on the time at which the current user's session began. See also #lastLogin. 语法
支持的字段类型日期 DATE 支持的运算符示例
当前用户 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. 语法
支持的字段类型用户 USER 支持的运算符示例
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:
语法
支持的字段类型ISSUE 支持的运算符示例
lastLogin()Perform searches based on the time at which the current user's previous session began. See also #currentLogin. 语法
支持的字段类型DATE 支持的运算符示例
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. 语法
or
支持的字段类型ISSUE 支持的运算符示例
membersOf()Perform searches based on the members of a particular group. 语法
支持的字段类型USER 支持的运算符示例
now()Perform searches based on the current time. 语法
支持的字段类型DATE 支持的运算符示例
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. 语法
or
支持的字段类型PROJECT 支持的运算符示例
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. 语法
For the 支持的字段类型PROJECT 支持的运算符示例
projectsWhereUserHasRole()Find issues in projects where you have a specific role. 注意只有登录JIRA后才能使用这个函数。 语法
支持的字段类型PROJECT 支持的运算符示例
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. 语法
or
支持的字段类型VERSION 支持的运算符示例
standardIssueTypes()Perform searches based on "standard" Issue Types, that is, search for issues which are not sub-tasks. 语法
支持的字段类型ISSUE_TYPE 支持的运算符示例
subtaskIssueTypes()Perform searches based on issues which are sub-tasks. 语法
支持的字段类型ISSUE_TYPE 支持的运算符示例
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. 语法
or
支持的字段类型版本 VERSION 支持的运算符示例
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. 语法
支持的字段类型问题 ISSUE 支持的运算符示例
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. 语法
支持的字段类型ISSUE 支持的运算符示例
支持的字段类型问题 ISSUE 支持的运算符示例
|
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.
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:
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.
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.:
|
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:
project in (A, B)
)
(project = JRA OR project = CONF)
is equivalent to this query:(project in (JRA, CONF))
, only the second query will be translated.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
JQL保留了一些特定字符。如果你需要在查询语句中使用下面的字符,你必须用引号将其括起来:
" "
)"+"
"."
","
";"
"?"
"|"
"'"
"*"
"/"
"%"
"^"
"$"
"#"
"@"
你既可以使用单引号 ( |
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:
.
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:
.