前面的几章基本已经完整构建了Jira的管理平台,并且有了一套比较完成的制度和方法。但是优化是永无止境的,我们作为研发管理人员,需要让系统使用起来更加高效和便捷。为了达到这个目的一般有两种途径,插件和开发。我们本章再推荐一些插件,下一章会介绍一些很轻量的二次开发,无需修改到jira本身而是使用接口或者数据库的。

本章的推荐插件实际上是暗含了不推荐的同类型插件,因为我在测试过程中,同类型的插件也试用了很多,作为一个排雷说明也一起告知给大家。满分5星

  • 效率类【Adaptavist ScriptRunner for JIRA(☆☆☆☆☆)】
  • 配置优化【Project Specific Select Field(☆☆☆☆)Default Values for Create Issue screen(☆☆☆)】
  • 界面优化【Subtasks section for JIRA(☆☆☆)STAGIL Navigation(☆☆☆)】
  • 移动端【Mobile for JIRA(☆☆☆)】
  • 其他类【Universal gadget for JIRA(☆☆☆☆)】
  • 报表类【无】

    分类也只是我个人基于插件使用场景做出的,大家可以有不同的理解。接下来对类别和插件以及使用的场景做个简单的介绍。

效率类

效率类目的是Jira的使用效率,这里只推荐了一款插件,几乎可以说是必备了。Adaptavist ScriptRunner for JIRA,也就是常说的ScriptRunner 。

Adaptavist ScriptRunner for JIRA(☆☆☆☆☆)

这款插件引入了脚本(Script)的概念,你可以编写自己的脚本来注入Jira的系统中运行。最简单的提升就在于JQL的提升。

插件提供了一个函数issueFunction,这个我认为提升了Jira官方JQL至少30%的可用性。

例如:

subtasksOf()或者parentsOf(),括号中可以再次定义一个JQL语法用于查询一个issue清单,从而获得这个清单的所有子任务或者父任务。

如果你安装了,那你可以在 https://jira.yourdomain.com/plugins/servlet/scriptrunner/admin/jqlfunctions 查看所有的JQL函数。

另外再推荐一个用法就是Script Fields,我的使用方法是作为一个计算字段。

例如我们内置了一个成为责任人的字段,用于判定为bug负责的人员,正常来讲这个字段只有一个人,但是有特殊的情况可能是多人均有责任。比如前后端都出错导致了测试提的一个bug的现象。我们要重点确认这类的情况,但是单纯用责任人字段无法排查出多责任人的情况。于是我们设计了一个计算字段,返回值就是责任人字段的长度。

参考截图

其中值得一提的就是字段类型的定义,同时可以指定issue进行验证,下面也给出代码。

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField /**
* Get number of users for multiuser picker
*/
CustomField multiuserCstFld = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("责任人")
if (multiuserCstFld == null || multiuserCstFld.getValue(issue)==null)
return 0; return ((ArrayList) multiuserCstFld.getValue(issue)).size()

配置优化

配置优化的定义是针对管理员在进行设置时,可以增加或者提升配置能力的一些插件。

Project Specific Select Field(☆☆☆☆)

这个我应用的场景实际上是多选字段的使用改进。没有用这个插件之前我们的多选字段是这样的

如果要选择多个,需要按住ctrl才能多选。修改之后变为:

以标签的形式展示多选,同时也支持搜索。

但要记住,添加自定义字段类型的时候需要选择 Project Specific Multi Select Field 类型,而不是原本的 **选择列表(多选) **。

Default Values for Create Issue screen(☆☆☆)

这个就是自定义字段的插件了,比如说明字段,我们会要求不同的issue类型有不同的模板,这样就可以通过这个来设置。

这个插件分为 Schemes 和 Field Configuration 两部分。

Schemes 用于将 Field Configuration 和项目进行关联。也就是同一个问题类型可以定义多个Field Configuration ,在不同的项目中,出现不同的默认值。

但是实际使用过程中,使用者还会出现更复杂的需求,比如某些字段变化时希望能够联动出现不同的默认值,或者在某些类型的issue评论时也要出现不同的模板。目前还无法支持。

假如一定需要,应该思路是使用scriptrunner。

放弃插件:

Power Custom Fields/Jira Misc Custom Fields,这款似乎也很强大,但是类似Script Field,而且比较复杂。所以在和上面插件比较后放弃。更重要的系统字段是不可以修改的,所以无法应用这类自定义字段修改的插件。

界面优化

这里主要是针对前端界面显示时可以提供一些优化的插件

Subtasks section for JIRA(☆☆☆)

这个是为了自定义主任务视图下的子任务展示,这个是之前的子任务视图

这个是使用插件设置之后的

原本使用的插件的意图就是为了能够方便任务的查看与管理,一般在同步排期、需求管理时会需要看到。

但是这个插件也存在一些问题,首先是时间格式化无法以中文地区限制,其次有时候某些任务会无法应用样式,具体为什么还没有摸索出来。

STAGIL Navigation(☆☆☆)

这个插件实际上是一个导航栏的自定义插件

看一下配置就能够理解大概。

我使用这个插件主要场景还是在于,jira在安装插件之后顶部导航就会增加入口,我们对于不同人员分组之后,希望他们能够看到的顶部导航栏的内容不用那么多,只关注于自身需要的内容。因此使用这个插件 对某些用户组隐藏。

移动端

Jira的使用环境还是比较适合PC端,但是当外勤人员也需要参与时就比较复杂。我们的环境里面涉及了客户支持、销售等外部环节,所以移动端的选择也是很重要的一环。

Jira当中最主流的就是两款 Mobility for JIRA和Mbile for JIRA。

我们选择的就是 Mbile for JIRA。

Mbile for JIRA(☆☆☆)

作为一个移动端的app可以和Jira官方app比较一下,感觉使用体验差很多。那为什么选择这款,是因为Mobility for JIRA更差劲。在做选型时,最基础的一关就是数据隔离验证,我们将外部人员和研发内部切分为两个Project,并且不能互相查看。但是在Mobility for JIRA里面没有任何过滤,可以搜索到全局所有的数据。直接放弃。

放一个截图

放弃插件:

Mobility for JIRA

其他类

这里就是放不太好归类的了

Universal gadget for JIRA(☆☆☆☆)

这个插件算是个神器

由于只是一个Gadget,所以只能够在仪表盘展示,但是却能够自定义html和js,配合Jira的接口,能有很多有意思的玩法。其实有点偏向与简易的二次开发了。

场景1:公告板

所有角色的仪表盘都插入这个信息,每天打开首页就能够同步所有信息。这个做法也是很讨巧,贴一下代码可以看出

$.getJSON('https://jira.yourdomain.com/rest/api/2/search?jql=key%3dJIRA-3713',function(result){
$("#cc_main").html(result.issues[0].fields.description);
})

使用了Jira提供的api获取某个issue的描述字段。这样就可以以某个issue作为html内容,修改之后达到发布信息的目的了。

场景二:工时与任务管理

去除了一些敏感信息,这个界面可以比对某天内某个小组人员的投入工时与待办任务之间的关联以及异常。

主要使用到还是普通的js,以及jira提供的api接口。

报表类

从使用Jira的第一天开始就在尝试能够做出可自定义的图形化报表,但是尝试了几款插件都达不到期望的目的。

All-In-One Reports for Jira,eazyBI Reports and Charts for Jira

这两款是尝试了最多次的软件,但是最终都没有成功应用

All-In-One图形化做的比较好,eazyBI 在自定义二维表方面做的更好。但是我尝试了很久,连最简单的合计功能也没有达成,后续就放弃了,使用了更简单的方案。

总结

从公司上Jira开始,到现在大概已经9个月了。所有人都已经熟悉并且认可了Jira,也成为了最重要的信息交换媒介。任何时候有零碎工作、Bug、待分析的需求,大家都会第一时间在Jira发布,并且按照对应流程执行。这需要研发管理人员不断的努力和改进Jira使用环境和流程优化,我自己测试各种插件最终形成完整落地方案大概一共花了2个月左右的时间。

我们从指导思想、核心配置、核心插件、推荐插件一路走来,基本已经到了一个普通的研发管理人员能够做到的极限了。这样的环境应该已经能够满足大部分的公司需求。但是作为一个研发出身,现在也还在编码的研发管理人员,我们后面能够提供更强大的管理工具能力,需要我们开始编码了!下一章就是二次开发,打造我们自己趁手的研发管理利器!

Atlassian In Action-Jira之推荐插件(四)的更多相关文章

  1. Atlassian In Action - (Atlassian成长之路)

    Atlassian是我工作过程中,使用过的最满意的研发团队管理套装.使用的主要软件包括Jira Software,Confluence,Fisheye/Crucible.理论上还可以再加上Bitbuc ...

  2. VS2015 推荐插件

    VS2015 推荐插件 //////////////////////////////////////////////////////////////////////////////////////// ...

  3. jenkins windows 2.204版,免安装,推荐插件齐备.

    windows专用,已安装好推荐插件, 更新了安装源为清华源,也就是说只要官方的插件,你都可以秒速下载了.香不? 解压到一个文件夹,管理员模式运行cmdcd 文件夹名jenkins install这样 ...

  4. IDEA常用设置及推荐插件

    IDEA常用设置及推荐插件 本文主要记录IDEA的一些常用设置,IDEA与Eclipse的常用快捷键对比及推荐一些好用的插件. 基本设置 设置界面风格及修改外部UI尺寸大小 打开IDEA时设置不重新打 ...

  5. Visual Studio 推荐插件--高量,变量高量,语法高亮

    1  WordLight for 2008 下载网址:http://visualstudiogallery.msdn.microsoft.com/ad686131-47d4-4c13-ada2-5b1 ...

  6. 第三节:Action向View传值的四种方式(ViewData、ViewBag、TempData、Model)

    简  介 在前面的章节中,我们已经很清楚,MVC工作模型的流程,Controller中的Action接收到客户端的请求,处理后要将数据返回给View,那么Action中是如何将数据返回给View的,二 ...

  7. 《ASP.NET Core In Action》读书笔记系列四 创建ASP.NET Core 应用步骤及相应CLI命令

    一般情况下,我们都是从一个模板(template)开始创建应用的(模板:提供构建应用程序所需的基本代码).本节使用 Visual Studio 2017 .ASP.NET Core2.0和 Visua ...

  8. visual studio code 的必装推荐插件plugin, vscode, vsc

    An Old Hope Theme     (theme, 推荐,且推荐它的 classic theme,安装后在颜色选项里选择,该插件的定制见文末) Cobalt2     (theme) Drac ...

  9. Visual Studio 推荐插件以及一些设置

    Microsoft Visual Studio 作为微软自家的 IDE 集成 NuGet 包管理器,是的引用一些不同版本组件DLL十分方便. 集成编译环境,强大的 Debug 断点.附加功能 项目模板 ...

随机推荐

  1. Lamda一行代码实现"36选7"随机自动选号

    南粤风采36选7是广东的一种彩票玩法.非常简单的从1-36个数字选7个. 今天在同事面前炫耀了一把,只用一行Lamda代码实现随机自动选号 Enumerable.Range(, ).Select(x ...

  2. spring通过注解方式依赖注入原理 (私有成员属性如何注入)

    一.spring如何创建依赖的对象 用过spring的都知道我们在dao.service层加上@repository.@Service就能将这两个对象交给spring管理,在下次使用的时候使用@res ...

  3. 【算法随记三】小半径中值模糊的急速实现(16MB图7.5ms实现) + Photoshop中蒙尘和划痕算法解读。

    在本人的博客里,分享了有关中值模糊的O(1)算法,详见:任意半径中值滤波(扩展至百分比滤波器)O(1)时间复杂度算法的原理.实现及效果 ,这里的算法的执行时间和参数是无关的.整体来说,虽然速度也很快, ...

  4. hadoop之hbase基本操作

    hbase shell 进入hbase命令行 list 显示HBASE表 status 系统上运行的服务器的细节和系统的状态 version 返回HBase系统使用的版本 table_help 引导如 ...

  5. vue.js实现单选框、复选框和下拉框

    Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框   在传统的HTM ...

  6. 基于Google Earth Engine的全国地表温度反演

    国内研究landsat8温度反演的人员很多,但是现有算法一般都是一景为例子,进行开展. 这有一个局限性,当研究的尺度很大时,就需要比较大的运算量了,例如全省温度,全国温度,全球温度,当然大家可能会说, ...

  7. wireshark和nmap

    原创博客,转载请注出处! 关于Wireshark和Nmap实验报告 Wireshark部分 一.捕获三次握手报并分析 如上图所示,简述三次握手流程: Step1.客户端由56780号端口向服务器443 ...

  8. 附008.Kubernetes TLS证书介绍及创建

    一 Kubernetes证书 1.1 TLS Kubernetes系统的各个组件需要使用TLS证书对其通信加密以及授权认证,建议在部署之前先生成相关的TLS证书. 1.2 CA证书创建方式 kuber ...

  9. 手把手教你实现"短信轰炸"

    手把手教你实现"短信轰炸" 我这里采用简单易懂的语言--"Python3"来实现   实现前的准备:             1,电脑,谷歌浏览器 2,pyth ...

  10. 字符串匹配Boyer-Moore算法:文本编辑器中的查找功能是如何实现的?---这应该讲的最容易懂的文章了!

    关于字符串匹配算法有很多,之前我有讲过一篇 KMP 匹配算法:图解字符串匹配 KMP 算法,不懂 kmp 的建议看下,写的还不错,这个算法虽然很牛逼,但在实际中用的并不是特别多.至于选择哪一种字符串匹 ...