前面的幾章基本已經(jīng)完整構(gòu)建了Jira的管理平臺浸踩,并且有了一套比較完成的制度和方法。但是優(yōu)化是永無止境的检碗,我們作為研發(fā)管理人員,需要讓系統(tǒng)使用起來更加高效和便捷折剃。為了達到這個目的一般有兩種途徑,插件和開發(fā)浪谴。我們本章再推薦一些插件岖食,下一章會介紹一些很輕量的二次開發(fā)乍丈,無需修改到j(luò)ira本身而是使用接口或者數(shù)據(jù)庫的恐锦。
本章的推薦插件實際上是暗含了不推薦的同類型插件使碾,因為我在測試過程中款筑,同類型的插件也試用了很多,作為一個排雷說明也一起告知給大家奈梳。滿分5星
效率類【Adaptavist ScriptRunner for JIRA(☆☆☆☆☆)】
配置優(yōu)化【Project Specific Select Field(☆☆☆☆)Default Values for Create Issue screen(☆☆☆)】
界面優(yōu)化【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的系統(tǒng)中運行糖埋。最簡單的提升就在于JQL的提升窃这。
插件提供了一個函數(shù)issueFunction,這個我認為提升了Jira官方JQL至少30%的可用性杭攻。
例如:
subtasksOf()或者parentsOf(),括號中可以再次定義一個JQL語法用于查詢一個issue清單馆铁,從而獲得這個清單的所有子任務(wù)或者父任務(wù)锅睛。
如果你安裝了埠巨,那你可以在 https://jira.yourdomain.com/plugins/servlet/scriptrunner/admin/jqlfunctions 查看所有的JQL函數(shù)现拒。
另外再推薦一個用法就是Script Fields,我的使用方法是作為一個計算字段勋桶。
例如我們內(nèi)置了一個成為責任人的字段,用于判定為bug負責的人員例驹,正常來講這個字段只有一個人退唠,但是有特殊的情況可能是多人均有責任。比如前后端都出錯導(dǎo)致了測試提的一個bug的現(xiàn)象瞧预。我們要重點確認這類的情況寨蹋,但是單純用責任人字段無法排查出多責任人的情況扔茅。于是我們設(shè)計了一個計算字段秸苗,返回值就是責任人字段的長度召娜。
參考截圖
其中值得一提的就是字段類型的定義惊楼,同時可以指定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()
配置優(yōu)化
配置優(yōu)化的定義是針對管理員在進行設(shè)置時弧可,可以增加或者提升配置能力的一些插件。
Project Specific Select Field(☆☆☆☆)
這個我應(yīng)用的場景實際上是多選字段的使用改進棕诵。沒有用這個插件之前我們的多選字段是這樣的
如果要選擇多個,需要按住ctrl才能多選价脾。修改之后變?yōu)椋?/p>
以標簽的形式展示多選笛匙,同時也支持搜索。
但要記住妹孙,添加自定義字段類型的時候需要選擇 Project Specific Multi Select Field 類型,而不是原本的 **選擇列表(多選) **涕蜂。
Default Values for Create Issue screen(☆☆☆)
這個就是自定義字段的插件了,比如說明字段蜘拉,我們會要求不同的issue類型有不同的模板,這樣就可以通過這個來設(shè)置旭旭。
這個插件分為 Schemes 和 Field Configuration 兩部分葱跋。
Schemes 用于將 Field Configuration 和項目進行關(guān)聯(lián)源梭。也就是同一個問題類型可以定義多個Field Configuration 稍味,在不同的項目中废麻,出現(xiàn)不同的默認值模庐。
但是實際使用過程中,使用者還會出現(xiàn)更復(fù)雜的需求掂碱,比如某些字段變化時希望能夠聯(lián)動出現(xiàn)不同的默認值,或者在某些類型的issue評論時也要出現(xiàn)不同的模板沧卢。目前還無法支持醉者。
假如一定需要,應(yīng)該思路是使用scriptrunner撬即。
放棄插件:
Power Custom Fields/Jira Misc Custom Fields,這款似乎也很強大搞莺,但是類似Script Field,而且比較復(fù)雜迈喉。所以在和上面插件比較后放棄温圆。更重要的系統(tǒng)字段是不可以修改的挨摸,所以無法應(yīng)用這類自定義字段修改的插件岁歉。
界面優(yōu)化
這里主要是針對前端界面顯示時可以提供一些優(yōu)化的插件
Subtasks section for JIRA(☆☆☆)
這個是為了自定義主任務(wù)視圖下的子任務(wù)展示,這個是之前的子任務(wù)視圖
這個是使用插件設(shè)置之后的
原本使用的插件的意圖就是為了能夠方便任務(wù)的查看與管理熔掺,一般在同步排期非剃、需求管理時會需要看到。
但是這個插件也存在一些問題备绽,首先是時間格式化無法以中文地區(qū)限制鬓催,其次有時候某些任務(wù)會無法應(yīng)用樣式恨锚,具體為什么還沒有摸索出來。
STAGIL Navigation(☆☆☆)
這個插件實際上是一個導(dǎo)航欄的自定義插件
看一下配置就能夠理解大概猴伶。
我使用這個插件主要場景還是在于,jira在安裝插件之后頂部導(dǎo)航就會增加入口,我們對于不同人員分組之后雨让,希望他們能夠看到的頂部導(dǎo)航欄的內(nèi)容不用那么多,只關(guān)注于自身需要的內(nèi)容栖忠。因此使用這個插件 對某些用戶組隱藏。
移動端
Jira的使用環(huán)境還是比較適合PC端狸相,但是當外勤人員也需要參與時就比較復(fù)雜捐川。我們的環(huán)境里面涉及了客戶支持、銷售等外部環(huán)節(jié)古沥,所以移動端的選擇也是很重要的一環(huán)。
Jira當中最主流的就是兩款 Mobility for JIRA和Mbile for JIRA岩齿。
我們選擇的就是 Mbile for JIRA。
Mbile for JIRA(☆☆☆)
作為一個移動端的app可以和Jira官方app比較一下龄章,感覺使用體驗差很多。那為什么選擇這款做裙,是因為Mobility for JIRA更差勁肃晚。在做選型時菇用,最基礎(chǔ)的一關(guān)就是數(shù)據(jù)隔離驗證陷揪,我們將外部人員和研發(fā)內(nèi)部切分為兩個Project杂穷,并且不能互相查看卦绣。但是在Mobility for JIRA里面沒有任何過濾,可以搜索到全局所有的數(shù)據(jù)滤港。直接放棄。
放一個截圖
放棄插件:
Mobility for JIRA
其他類
這里就是放不太好歸類的了
Universal gadget for JIRA(☆☆☆☆)
這個插件算是個神器
由于只是一個Gadget山叮,所以只能夠在儀表盤展示添履,但是卻能夠自定義html和js,配合Jira的接口暮胧,能有很多有意思的玩法。其實有點偏向與簡易的二次開發(fā)了钞翔。
場景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內(nèi)容脚曾,修改之后達到發(fā)布信息的目的了。
場景二:工時與任務(wù)管理
去除了一些敏感信息珊泳,這個界面可以比對某天內(nèi)某個小組人員的投入工時與待辦任務(wù)之間的關(guān)聯(lián)以及異常拷沸。
主要使用到還是普通的js,以及jira提供的api接口撞芍。
報表類
從使用Jira的第一天開始就在嘗試能夠做出可自定義的圖形化報表,但是嘗試了幾款插件都達不到期望的目的序无。
All-In-One Reports for Jira衡创,eazyBI Reports and Charts for Jira
這兩款是嘗試了最多次的軟件晶通,但是最終都沒有成功應(yīng)用
All-In-One圖形化做的比較好,eazyBI 在自定義二維表方面做的更好狮辽。但是我嘗試了很久,連最簡單的合計功能也沒有達成椰苟,后續(xù)就放棄了树叽,使用了更簡單的方案舆蝴。
總結(jié)
從公司上Jira開始菱皆,到現(xiàn)在大概已經(jīng)9個月了挨稿。所有人都已經(jīng)熟悉并且認可了Jira,也成為了最重要的信息交換媒介奶甘。任何時候有零碎工作、Bug臭家、待分析的需求,大家都會第一時間在Jira發(fā)布蹄殃,并且按照對應(yīng)流程執(zhí)行你踩。這需要研發(fā)管理人員不斷的努力和改進Jira使用環(huán)境和流程優(yōu)化诅岩,我自己測試各種插件最終形成完整落地方案大概一共花了2個月左右的時間带膜。
我們從指導(dǎo)思想、核心配置式廷、核心插件、推薦插件一路走來滑废,基本已經(jīng)到了一個普通的研發(fā)管理人員能夠做到的極限了。這樣的環(huán)境應(yīng)該已經(jīng)能夠滿足大部分的公司需求策严。但是作為一個研發(fā)出身,現(xiàn)在也還在編碼的研發(fā)管理人員妻导,我們后面能夠提供更強大的管理工具能力,需要我們開始編碼了术浪!下一章就是二次開發(fā)寿酌,打造我們自己趁手的研發(fā)管理利器胰苏!