JQL是JIRA查询语言的简称,它是JIRA搜索问题最灵活的方式。JIRA谁都可以用:开发人员,测试人员,项目经理,以及商业用户。本文是专门为那些没有数据库搜索经验的人准备的教程。

如果你是懂SQL的开发人员

Atlassian JQL的操作和SQL十分相似,不过可不要和Java Query Languge混淆哦,搜索框配备了代码提示和内联验证,能让构建查询更方便。尝试JQL JIRA实例:

  • 登录JIRA
  • 点击问题
  • 单击“编辑”(如果您有正在进行的检索)
  • 单击“高级搜索”

你可以直接向JIRA输入你的查询语句,举一个完整的例子,进入高级搜索。因为经常到这个页面进行模糊搜索,所以将这个页面保存到书签。这个页面提供了很多信息,到这个页面键入“Ctrl + F“并进行检索,直接跳到感兴趣的主题或关键词是很有帮助的。

不懂SQL的人怎么办?

对于不搞技术的用户,JQL对你来说也是同样的好用。JQL是非常好上手的自然语言,让我们用一个简单的例子来帮助解释一些基本概念。如果你走进一个陌生的杂货店,你可以问别人“我在哪里可以找到三包装的达能饼干?”服务员会带你到正确的货架找到你想要的饼干。JIRA也可以解决同样的问题。

JIRA既有简单搜索也有高级搜索。简单搜索让用户填充一系列表单。高级搜索则是通过使用JQL这种查询语言来实现的。检索是由一系列的简单问题组成的一个更复杂的问题。检索有三个基本部分:字段,运算符和数值。你可以选择使用一些选择关键词把它们连接在一起。接下来让我们讨论每个名词的具体含义。

  • 字段——含有系统上的不同类型信息。在JIRA中字段可以包含优先性、版本数、问题类型等。
  • 运算符—— 运算符是查询的根本。他们将字段和数值相联系。常见的运算符有等号(=), 不等号 (!=), 小于号 (<)等等。
  • 数值——含有查询的实际数值。他们通常是我们要找的东西。
  • 关键词——关键词是搜索语句中有特定含义的一些词。这篇文章里我们将重点讨论AND和OR。
    Screen-Shot-2013-04-12-at-3.59.43-PM.png

如果使用了连接关键词,在连接词之后应该跟一句字段-运算符-数值的搜索从句。回到刚才的例子,要找到达能牌的三包装饼干,我们要问店员三个问题。

  1. 店里的什么东西是达能牌的?
  2. AND 店里的什么东西是饼干?
  3. AND 店里的什么东西是三包装的?

我们可以用下面的视觉维恩图代表查询。我们感兴趣的是三个圆交错的中心区域。

在例子中的第一部分,我们在字段上填入的是公司名称。等于号是运算符。danone是我们查询的值。如果我们想系统地问店员问题,我们可以说:

company = acme AND itemtype="cookie" AND packagequantity = 3

在上面的例子中,查询语句要求公司必须是danone ,东西必须是一个饼干,数量是3。每个条件之间用AND相连接。这意味着AND的左、右边必须同时满足。因为我们想要找到满足所有三个标准的东西所以我们使用关键字AND。你也可以使用OR,这意味着只有一个条件需要满足的。如果你想寻找打折的商品或商店品牌,我们可以使用OR查询。

使用AND将会给你两个圆的交叉区域,OR会给你两个圆全部的部分,我总是只爱用AND,但是有的时候OR也非常有用。使用AND得到的结果会更少,使用OR得到的结果会更多。
让我们回到JIRA吧?
有效地管理动态项目,需要从和你项目相关的问题跟踪工具中获取一些特定的数据指标。JIRA提供了许多供查询的字段。单击“字段”链接,了解可以从JIRA中挖掘到的数据类型。举一个简单的例子。
昨天John Smith在Pipeline这个项目中记录的是什么bug?

reporter = jsmith AND project = Pipeline

在这个例子中,记录bug的人的信息存储在reporter这个字段里,JIRA有一个项目字段能够匹配问题的关键信息。例如,PIPELINE-2 在 PIPELINE这个项目里。我们可以建立两个条件,并加入AND关键字。
很多时候,你可能想查询得到一组信息。让我们看一个稍微复杂的例子。

在项目A,B,C中,什么bug是blocker和critical的?

priority IN (Blocker, Critical) AND project IN (ProjA, ProjB, ProjC)

IN给出包含清单中关键词的所有问题,在上面的例子中,它会返回项目中A,B,C中所有的blocker和critical bug。
最后一天的什么样的问题是未分配的、未被更新的?

assignee IS EMPTY AND created &lt; -1d

在这个查询中,空语句显示了assignee字段值是空白的所有问题。JIRA也支持相对日期。-1d代表在查询日之前的一天。上面的这个查询将会返回所有至少存在一天的没有分配的问题。

在JIRA中输入JQL

JIRA的的JQL编辑器使学习JQL更简单。代码编辑器在你键入时给予提示。对于新用户来说,这将极大地简化了学习曲线,开始使用十分方便。JQL编辑器识别你输入的查询信息,并且返回正确的结果。

例如,如果我们想输入下面的JQL语句:

project = Pipeline

JIRA在我们的查询三个组成部分的每一个步骤都给予提示。当你看到你想选择的数值,可以使用箭头键或鼠标来选择它。

当您输入完毕您的查询语句,JIRA将会验证JQL,文本输入框左边的绿色对号说明您的语法是正确的。
complete.jpg
“Syntax Help”将连接到JIRA的语法参考页面。
转自:http://china.blogs.atlassian.com/2013/04/12/jql/


huangjinnan
248 声望10 粉丝