大家好,这是我们JQL的最后一课。现在你已经通过第一课第二课掌握了JQL的基础知识,通过第三课了解了很多JIRA的功能。JIRA的一个很大的好处就是延展性很强,很方便你增添新功能或者拓展已有功能。JQL毋庸置疑也有着同样的延展性,你可以自己设计定制函数,或者在Atlassian专家的帮助下量身打造适合你的用户体验。

准备安装:Atlassian Marketplace

JQLTricks

JQL Tricks插件提供了可在JQL上拓展的函数,包含了许多围绕JIRA核心框架(用户、版本、问题、评论等)设计的函数。完整的函数文档可查看J-Tricks。我喜欢先查看我项目中新建的问题事项,所以我创建了一个面板,它包含了结果过滤小工具,使用了JQL实现过滤功能:

project IN projectsLeadByUser() AND created > lastLogin() ORDER BY created

ProjectsLeadByUser() 返回所有我作为项目领导者的项目,如果你想查看别人负责的项目,也可以在这个函数中输入用户名。created > lastLogin() 返回我上次登录之后新产生的所有问题,有了这个,每次我登陆JIRA我都可以得到一个包含所有新建问题的准确清单了。

查询附件

JIRA非常好的一点是可以在数据库中查询问题事项。Full-text Search Attachments for JIRA Plugin(收费插件)这个插件让您可以使用JQL,根据附件名称、类型和内容来查询附件。这个插件支持许多种类的文档类型。对于那些在JIRA中保存文档的公司来说,这个插件允许他们能够根据内容找到想要的附件。比如,如果我想找到带有“案例分析(”Case Study”)”这个词的附件,我可以输入:

issue IN havingAttachments(“Case Study”)

拓展到过滤器、子任务和被链接问题

JIRA的JQL基本功能中欠缺一个能够在限定范围内实现搜索的功能。Craftforge JQL Functions Plugin(免费插件)这个插件能够允许用户在某个过滤器、连接到问题或者子任务之内通过JQL进行搜索。这个插件可以显示我查询结果中出现的问题的所有子问题。

比如:

(TYPE = story AND fixVersion = earliestUnreleasedVersion()) OR issue IN subtaskIssuesFromQuery(“type = story and fixVersion = earliestUnreleasedVersion()”)

在Sprint中我们的团队有各种各样的问题事项:用户故事、任务、缺陷等。当我们把一个用户故事带入sprint时,团队一般会构建子任务把整个用户故事拆分开来(分成服务器、ui、测试等)。上面的这个检索不仅可以反馈用户故事还能显示我们拆分之后的各个子任务。它能把涵盖新功能的新任务从已有的问题事项中区分出来。

自定义域问题

如果你想使用链接方便工作,但又想限制用户查看链接问题的权限,来看看Query Issues Custom Fields plugin (免费)这个插件吧!这个插件可以让该自定义字段通过JQL检索限定过的问题。一些公司使用这个插件把新产生的问题连接到项目Tickets中,项目Tickets结束之后会自动从创建清单中的自定义域中撤除。

灵活的电子邮件通知

上一节课我们讲了订阅的问题。只要JQL检索有结果返回,订阅功能就能在特定时间段给订阅的用户发送提示邮件。如果你希望有更多的自由度,可以使用

Notification Assistant for JIRA(收费插件)这个插件。个人提醒和JIRA内团队提醒都可以用订阅来实现,Notification Assistant提供了一个更加灵活的收件人清单,使JIRA外的人也能通过设置收到提示邮件。

JIRA和HipChat

对于想通过即时消息收到提醒的用户,JIRA现在和Hipchat已经实现无缝链接了。HipChat是Atlassian为软件团队开发的即时消息平台。Hipchat满足了你对即时消息工具的各种要求,包含自定义好友清单、视频集成或者小组聊天。现在HipChat和JIRA也实现集成了!如果你想在重要问题解决的时候提醒工程师,试试HipChat吧。Atlassian University教学视频教你怎么设置这样的集成

构建适合自己的

Atlassian的所有产品都有很好的延展性,如果你需要的功能在核心产品或者Marketplace里面都没有,你可以自己拓展JIRA。有两种方式构建JIRA的插件:让Atlassian专家来帮忙或者纯粹自己动手。开发JIRA插件需要Java,Javascript, CSS,和 HTML等技能,JQL插件使用Java编写。

Atlassian专家

Atlassian的专家帮助我们提供给您令人难以置信的用户体验。 Atlassian的专家们熟悉我们产品的各个方面,并能在产品安装,配置和定制上协助我们。您可以很容易地和我们的专家开展合作、拓展产品功能,以满足您的需要。要了解更多信息,请访问:

http://www.atlassian.com/resources/experts.

自己动手

http://developer.atlassian.com上Atlassian发布了所有的开发人员帮助文档。在JQL插件上我们有两篇主要的文章。我推荐您先看看我们的教学文章,它概述了如何在JIRA上添加一个返回最新项目的函数。更多完整的帮助文档您可以参见我们的插件模块帮助文档下的JQL部分

最后梳理

我们在JQL的四节课里面已经涵盖了大量的信息,如果你想重温这个系列:

对了,别忘了把高级搜索存入书签。这可是JIRA中关于JQL的最全信息来源了!

在我们结束这节课之前,让我再来补充最后一个小窍门。想一下子搜索JIRA中的所有文本域:

text ~ “Search Text”

这个文本域是JIRA所有文本域的结合体(概括、描述、评论等)。

“~”运算符的检索返回所有带有搜索词的结果,“Search Text”可以在问题的任何地方出现,在检索结果里也会包含这个问题。

最后谢谢大家!还想了解更多? 订阅我们的JIRA内部邮件

订阅JIRA窍门

About xiaoyinqu

Xiaoyin Qu, JIRA Marketing team 曲晓音, JIRA市场营销部

View all posts by xiaoyinqu »