jira入門

 1 JIRA簡介  

·  1.1 概要介紹  

·     

·  JIRA 的生產者把JIRA定義爲Professional Issue Tracker,即它是一個專業的問題跟蹤管理的軟件。這裏的”問題”對應的英文單詞是 Issue,所以含義比較廣,包括 Bug,Task,Enhancement,Improvement等等跟軟件開發相關的名詞。跟蹤管理即對問題的整 個生命週期進行記錄和管理。一個問題從創建到解決到關閉涉及到很多相關信息,包括是什麼問題,誰發現的問題,誰處理了這個問題,如何處理的,相應的代碼有什麼改變等等,JIRA可以方便的記錄這些信息,並且在問題的不同狀態呈現在相應的責任人面前。相似的軟件有Bugzilla,Trac,Mantis,Clear Quest, Streber, 等。  

·  進行問題跟蹤管理的好處是:  

·  1. 讓系統來記住Task,Bug等等信息,而不僅僅靠項目經理和程序員的腦袋來記憶。人腦記憶的東西往往是不準確的。  

·  2. 問題跟蹤管理可以定製流程,可以有效提高工作效率  

·  3. 用專業的系統來進行問題跟蹤管理能帶來更多的好處,詳細見下面JIRA的優點  

·  1.2 JIRA的優點  

·  JIRA有很多專業特性,不愧爲介紹中說的Professional這個詞。  

·  1. 針對問題其默認定義了豐富的字段來記錄問題的各種信息,包括Issue Type, Issue summary, Issue Description, priority, assignee, reporter, resolutions等等  

·  2. 強大的自定義字段功能,自定義字段自帶有22中類型可以選擇,而且還可以通過JIRA Extension來支持更多類型。22種類型如下圖所示:  

·   

·  3. 針對每個字段都能進行屏幕,項目,問題類型等配置,可以方便的控制字段應該出現在哪裏,而不應該出現哪裏。  

·  4. 默認定義了工作流的一些狀態: new, open, defer, pending, resolved, reopened, closed。 默認定義了一個簡易的工作流, open-in progress-resolved-closed  

·  5. 強大的自定義工作流功能,針對不同的流程節點可以定義不同的權限、字段、後續可供選擇的處理方式。  

·  6. 豐富的權限管理配置,可以針對項目、用戶、用戶組、項目角色、操作定義各種組合定義  

·  7. 支持附件,同時針對圖片附件有特別支持,可以圖片附件直接在網頁中顯示,如下圖  

·   

·  8. 可方便地定製查詢(Filter),不同的查詢可以快速找到你關注的問題。查詢條件可以對絕大部分字段設定條件。  

·  9. 用戶首頁可以定製,並且可以定製的查詢放入首頁,這樣可以方便查看關注的內容。首頁被定義爲一個Portal,可供加入的Portlet有很多,如下圖所示  

·   

·  10. 支持郵件通知,郵件通知可以同工作流中和工作流之外的事件關聯  

·  11. 支持Time Tracking功能,這個功能用於項目管理中的任務管理是很方便的  

·  12. 支持CVS、SVN代碼庫的整合,同時支持Fisheye,這樣可以讓問題和代碼關聯  

·   

·  13. 自帶備份機制,不用擔心數據丟失。況且JIRA運行非常穩定,使用2年以來從未發生系統性故障  

·  14. 導入導出功能很完善,可以導出爲XML文件,方便將數據從不同數據庫之間遷移。  

·  15. 系統性能非常不錯,在一臺普通PC上,只分配了256M內存,整個系統有1000多個Issue,92個用戶(同時在線使用應該有20個用戶),同時還將 JIRA需要的數據庫安裝在一起可以很流暢的運行。同時這臺PC還運行了CVS,VSS等等服務。  

·  16. 支持多種數據庫,mysql, ms sqlserver, oracle等等,自帶有內存數據庫hsql db已經可以讓JIRA運轉起來。 配合MySQL已經足夠應付40個人規模的項目。JIRA的數據庫很簡練,附件是作爲文件形式存放的。  

·  17. 支持Plugin功能,如果有什麼沒有實現的功能,或許通過plugin可以實現,JIRA的網站上有很多plugin來下載  

· 18. JIRA針對開源項目是提供免費license的,所以其用戶羣很龐大,相應的你得到支持也是很多的,包括官方詳盡的文檔、Wiki,用戶論壇等等  

·  19. 更多特性有待你來發掘  

·  1.3 JIRA的缺點  

·  1. JIRA是個商業軟件,而Bugzilla、Mantis是開源免費的  

·  2. 對clear case沒有官方支持,有一個plugin,但是狀態時unsupported  

·  3. 專業性也帶來了配置的複雜,建立一套完善的custom fields, workflow, permission scheme並不是一件容易的事情  

·  2 JIRA的安裝  

·  JIRA是一個Java Web Application, 自帶的web server是Tomcat,所以熟悉J2EE開發的人來安裝JIRA應該是輕車熟路的。JIRA 3.12版本之後已經提供windows installer形式的安裝包,安裝起來也變得很簡單。以下介紹以windows安裝包的形式來介紹  

·  2.1 安裝步驟  

·  JIRA提供 stanalone, war包,installer等的安裝方式,以下安裝以最簡單的installer來介紹  

·  1. 下載Windows installer, Atlassian的網站提供下載。安裝包有56M,這個包已經包括了JRE和Tomcat,所以可見JIRA的安裝文件並不肥大。  

·  2. 雙擊EXE文件開始安裝,安裝路徑可以任意選擇。  

·  3. 安裝嚮導結束後雙擊%JIRA_HOME%/bin/startup.bat可以啓動JIRA,通過http://localhost:8080 訪問JIRA應用,如果成功打開了頁面則表明安裝成功  

·  2.2 安裝配置  

·  1. 安裝數據庫,自帶的hsqldb是不贊成使用的,我們以mysql爲例進行配置。首先安裝mysql,安裝過程見相關文檔,一般不需要有特殊選項  

·  2. 建立數據庫,用root用戶登錄mysql,創建一個名爲jira的數據庫(數據庫名可以任意),字符集用如下圖的選項:  

·   

·  3. 建立數據庫用戶,如下圖所示,如果數據庫和JIRA在同一臺機器,主機那欄填localhost  

·   

·  並將jira數據庫的所有權限賦予給 jira用戶(JIRA初始化數據庫時需要比較大的權限)  

·    

·  4. 下載mysql jdbc driver的jar包,並放入%JIRA_HOME%/common/lib目錄。Mysql的jdbc驅動有很多版本,請下載適合你的mysql server的最新驅動,不然會產生一些意料不到的問題。  

·  5. 將%JIRA_HOME%/atlassian-jira\WEB-INF\classes\entityengine.xml中的datasource name="defaultDS" field-type-name="hsqldb" 改爲mysql  

·  6. 將%JIRA_HOME%/conf/server.xml中的jdbc/JiraDS 修改爲如下形式  

· <Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"  

·             username="jira"  

·              password="jira"  

·             driverClassName="com.mysql.jdbc.Driver"  

·             url="jdbc:mysql://localhost/jira?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"  

·             maxActive="20" />  

·  7. 將JIRA安裝爲NT服務。在CMD窗口運行bin/service.bat install即可安裝,service.bat remove進行卸載。安裝好打開服務如下圖所示,點擊“啓動”按鈕即可啓動JIRA  

·   

·  8. 配置語言及通用選項。JIRA第一次啓動會提示你選擇語言項,最好選擇英語,因爲中文漢化不很完善,有些鏈接不會顯示會導致功能缺陷。Index, attachment, backup等目錄可以如下圖所示來建立  

·   

·  到此JIRA就已經全部安裝好了。  

·  3 Quick Start  

·  3.1 創建Project  

·  JIRA默認的管理員是admin,密碼也是admin,使用這個用戶登錄後來創建 Project。沒有project的JIRA菜單很少,如下圖所示:  

·    

·  1. 點擊菜單中的ADMINISTRATION進入管理頁面,點擊Projects-Add Project來添加Project  

·   

·  2. 如下圖填寫必填項,key這個選項填完之後就不能修改了,所以想清楚填什麼值最好,並且建議填3個字母以內的縮寫。Project lead是必填的,但是這個時候只有admin一個用戶,只能填admin了,增加用戶後可以修改project lead爲別人。後面的選項都用默認。最後點擊Add則完成了Project的創建  

·    

·  Project創建完成後,我們可以發現JIRA的菜單欄多了三個菜單:BROWSE PROJECT, FIND ISSUES, CREATE NEW ISSUE,功能分別是查看項目彙總統計信息,查詢,創建新問題,詳細使用在後面描述。  

·  3.2 查看用戶組  

·  點擊Group Browser可以看到JIRA默認提供的三個Group,在Quick Start中我們用這個三個用戶組就可以了。管理Group也是通過這個界面來進行  

·   

·  3.3 創建用戶  

·  1. 如下圖通過User Browser-Add User來添加User  

·    

·  2. 下圖中的Username是用戶的登錄名,將不能修改。Full Name是顯示名,可以進行修改  

·    

·  3. 點Create後創建成功,如下圖  

·    

·  點擊Edit Groups可以編輯用戶所在的組,用戶默認的組是jira-users。  

·  4. 選擇jira-developers然後點擊如下圖中的Join>> ,arthur將被加入jira-developers這個group  

·    

·  5. 改變TST Project的project lead。(Admin用戶是超級管理員,最好不要在任何項目中擔當角色)  

·  從ADMINISTRATION-Project進入,如下圖點擊 Edit  

·    

·  在Project Lead 欄輸入arthur(jira 3.12.3版本系統會通過AJAX快速查詢到用戶進行選擇)  

·    

·  一個項目不能只有一個project lead,我們按照上述方法創建兩個jira-developers的用戶:Carol, Ben 創建兩個 jira-users用戶:Chris, Mike。 Jira-developers組是開發人員,職責是解決問題,jira-users組是測試組,職責是發現問題並創建問題測試問題  

·  3.4 創建Issue  

·  用arthur這個用戶登錄JIRA,點擊CREATE NEW ISSUE進行問題創建。如下圖,這個界面中有兩個下拉框可以選擇,Project中因爲只有一個項目,所以沒得選擇,Issue Type有四個選項  

·  Bug: 軟件中的缺陷  

·  New Feature: 需求之外增加的新功能  

·  Task: 計劃中的任務  

·  Improvement:針對已經實現的功能的改進  

·    

·  我們選擇Task,創建一個任務:Project Lead分配一個任務給Carol,內容是讓Carol來做8月14日的早餐。如下填寫信息:  

·  Summary中填寫概要信息,詳細信息填寫在 Description中,比如錯誤日誌、詳細需求等等  

·  Due Date是指何時需要完成  

·  Assignee填寫指派人  

·  Components 和Version的信息目前都是Unknown,因爲針對Test Project我們沒有配置這兩個信息  

·  Environment一般填寫 Bug發生的環境,Bug往往是因爲其環境有特殊性而導致  

·  Priority默認有5個選項:  

·   

·  從圖標可以看出其代表不同的優先級  

·   

·  點擊Create進行創建,之後可以看到如下圖的結果:  

·  JIRA系統自動分配了一個Issue Key :TST-1,這個Key是唯一標識issue的編號,其他信息如圖所示  

·    

·  3.5 處理Issue  

·  Carol登錄JIRA後在她的首頁可以看到如下信息:  

·    

·  可以看到右邊的Assigned To Me列表中有一條記錄,這表示是需要處理的Issue,點擊TST-1的鏈接進入如下界面:  

·    

·  Available Workflow Actions中的鏈接是不同處理Issue的步驟,在開始做早餐之前,Carol應該點擊Start Progress,之後TST-1的status變爲 In progress, 半小時後Carol做完了早餐,她就應該點擊Resolve Issue,之後進入如下界面:  

·    

·  Resolution有如下選項:  

·  Fixed:已經解決  

·  Cannot Reproduce:問題無法重現  

·  Won’t Fix:無法解決  

·  Incomplete:未完成,未完成還還能叫做Resolved?  

·  Duplicate:重複問題,選擇這個的時候最好在Comment中寫上重複的Issue KEY  

·  Assignee填確認這個問題是否解決的人,一般填問題創建者  

·  點擊Resolve之後Issue狀態變成了Resolved  

·  用arthur登陸JIRA,在 Quick Search中輸入TST-1可以快速找到TST-1這個Issue,經過嚴格測試之後可以確認問題已經解決,則可以選擇Close Issue。  

·  在Available Workflow Actions點擊Close Issue,在下一個界面填寫Comment,之後Issue status變成了Closed,到此Issue處理結束。  

·  當然如果這個 Issue經過測試再次發生問題,可以選擇Reopen Issue, Reopened的Issue後續處理同open狀態的issue是一致的。  

·  4 定製你的JIRA(For Users)  

· 4.1 JIRA操作界面介紹  

·  1. 下圖是首頁界面介紹(點擊菜單欄中的HOME進入)  

·    

·  注:QUICK SEARCH是一個非常有用的框框:  

·  1) 輸入issue Key可以迅速打開這個issue,比如輸入PR-10,則可以轉入到PR-10的明細頁面  

·  2) 當你已經工作在某個Project時,你只要在快速搜索框中輸入issue Key的序號,即可完成1)中的功能,即輸入10然後按回車既有PR-10的效果  

·  3) 輸入非issue Key或非數字的字符等同於Filter中在Text Search中輸入了特定的字符進行搜索  

·    

·  2. BROWSE PROJECT界面  

·    

·  3. FIND ISSUES界面  

·    

·  4. Issue Detail界面  

·  通過點擊 issue Key進入,或者其他鏈接進入  

·    

·  5. ADMINISTRATION界面介紹  

·  最多菜單鏈接的一個界面,在後面章節中會有針對大多配置對應鏈接的說明。  

·    

·  4.2 修改個人信息  

·  JIRA中的個人信息包括:密碼、姓名、Email、 Filter、preference、Dashboard、Column Navigator等。  

·  通過JIRA右上部的Profile鏈接進入設置,進入後的界面如下圖所示:  

·    

·    

·  其中Preferences可定製的選項包括瀏覽時每頁最大issues數目,語言選項,Email格式。如果系統默認的語言是英文,你想把自己的界面改成中文,則可以通過這個地方將Locale改爲中文即可  

·  4.3 定製Filter  

·  Filter可以理解爲過濾器、定製查詢,即將一組查詢條件保存起來。通過菜單欄中的FIND ISSUES進入  

·  我們以建立“最近一週解決或者關閉的問題”爲例來建立一個filter:  

·  1. 在Project中選擇目標項目,選擇項目之後會得到一個如下的提示  

·    

·  改變了所選的Project,其對應的versions, components, custom fields都是可能不一致的,所以需要點擊Click here這個鏈接來更新這些信息  

·  2. 在Issue Attributes中的Status選擇Resolved和Closed(選擇第二個值按住Ctrl再點擊)  

·  3. 在Dates and Times中的updated: From中填上-1w (-1w表示一週以來,類似的符號有d天,h小時,m分鐘,2h 30m表示2小時30分,注意兩個時間之間有個空格)  

·  4. 點擊View即可查詢出滿足以上條件的Issues,我們希望按照Update time來倒序排列這些issues,點擊Updated那列的標題即可倒序排列,再點擊一次會變成順序排列,想按照其他字段來排序也是類似的操作。  

·  5. 如果確認查詢出的issues已經是所想要的,剩下一步就是將這些條件保存爲一個filter,點擊Save it as a filter,如下圖所示  

·   

·  填上filter名字,點擊Save之後可以通過下圖中的Summary看到剛纔填寫的條件概況  

·   

·  6. 通過Share鏈接還可以將這個Filter共享給其他人或者其他用戶組  

·  4.4 定製Portal(Dashboard)  

·  JIRA 將它的首頁定義爲Portal,定製Portal即定製自己的JIRA首頁。通過Manage Portal進入定製界面,如下圖所示的鏈接:(通過個人信息中的Dashboard  Config鏈接也可以進入)  

·   

·  進入的配置界面如下圖所示:  

·    

·  其 中Full configure可以修改當前的配置,Add New Portal Page可以增加一個portal 頁面,我們通過 Add New Portal Page來舉例,Name中輸入My Page, Start From選擇Dashboard,然後點擊Add按鈕,之 後可以得到如下圖所示的效果:  

·    

·  點擊其中的Full configure可以進行My Page的配置,如下圖所示:  

·   

·  定製的界面分爲左右兩邊,點擊Add按鈕增加內容,Edit、 Copy、Delete、上下左右箭頭按鈕顧名思義。  

·  我們點擊Add按鈕,準備在My Page上增加一個Project statistics,如下圖來操作:  

·    

·  Project Statistics還有下一個屏幕來提供選項,如下圖所示:  

·    

·  我 們選擇需要添加的項目,統計類型我們關注的是狀態,選擇Status,第三個選項是已經解決的問題是不是要統計出來,之後點擊Save,則將 Project Statistics這個portlet加入到了left column,我們要讓它顯示在右邊,選中它點擊向右箭頭按鈕即可。  

·  然後回到首頁,我們可以看到如下的效果:  

·    

·  Portlet有很多選項,我認爲最有用的應該是Show Saved Filter,你可以首先定製好自己的Filter,然後把它加入到首頁中,這樣自己關注的issues就可以一目瞭然的看到了。  

·  注:  

·  JIRA 管理員通過同樣的方法來設置Default Dashboard,操作入口是:ADMINISTRATION-Default Dashboard  

·  4.5 定製Navigator Columns  

·  點 擊某個Filter進行issue查詢,查詢列表中的顯示字段可以進行定製,可供的選項有:增加字段、減少字段、編排字段先後順序。JIRA默認的字段包 括: T,Key,Summary,Assignee,Reporter,Pr,Status,Res,Created,Updated,Due ,其中 T是issue type, Pr是Priority, Due是Due date。默認的排序是按照Key倒序排列。  

·  通過列表上方的 Configure鏈接來進行定製,如下圖:  

·  進入後的界面如下圖:  

·    

·  注:  

·  JIRA管理員通過同樣的方法來設置 Navigator Columns,操作入口是:ADMINISTRATION-Navigator Columns  

·    

·  4.6 導出、打印Issues  

·  JIRA在列表和明細界面提供了導出Word、導出Excel、打印頁面的功能  

·  1. 列表操作  

·   

·  在查詢列表頁面中如上圖提供了一系列的操作,其中  

·  Printable鏈接提供一個便於打印的簡潔HTML頁面,如下圖  

·    

·  Full Content鏈接提供了一個便於打印的所有issues明細的HTML頁面,如下圖  

·    

·  Word鏈接可以將所有issues明細導出成 word文檔  

·  Excel後面的兩個鏈接:All fields導出所有字段爲Excel,Current Fields導出當前字段爲Excel  

·  2. Issue明細操作  

·  操作鏈接在Issue Detail中,功能與明細中的Word和Printable鏈接是一樣的,如下圖:  

·    

·    

·  4.7 製作報表  

·  報表製作通過 BROWSE PROJECT界面中的Report下的Single Level Group By Report鏈接進入,如下圖:  

·   

·  進入製作報表界面後,可以選擇不同的Filter和不同的統計類型進行報表顯示,如下圖:  

·   

·  製作完的報表如下圖所示:  

·    

·  5 讓你的JIRA更專業(For Administrator)  

·  5.1 常用配置  

·  5.1.1 Users, Groups & Roles  

·  用 戶和用戶組已經在Quick Start中描述過。Project Role Browser中可以定製項目角色,JIRA提供的三種用戶角色略顯不夠,一般的項目包括project managers, team leaders, developers, testers,不妨按照這個思路來添加項目角色。項目角色添加好之後可以通過Permission Scheme來對角色分配不同的權限  

·  5.1.2 Global Settings  

·  ? General Configuration  

·  這個配置界面有很多項目可以配置,每個項目JIRA都有說明,需要解釋的有:  

·  1. Base URL,這個選項很有必要設置正確,JIRA會對描述、comments中的Issue KEY自動加上鍊接,如果Base URL不正確,所有的鏈接都將是錯誤的  

·  2. Indexing language,這個選項默認是English,在Character encoding是UTF-8的情況下,indexing language是English也沒有影響,即使你在創建issue時使用了中文,也能建立索引  

· 3. Default language,安裝好JIRA後第一次進入JIRA選擇語言後可以通過這個地方來修改,正如之前說的,最好選擇成英文。  

· 4. Options裏面的選項沒有特別要求使用默認設置即可  

·  ? Global Permissions  

·  這裏的權限和項目中的權限是不同的,項目中的權限指的是創建issue、編輯issue等等,這裏的權限是一些管理權限、創建filter的權限等與項目無關的權限  

·  ? Look and Feel  

·  這個地方可以打造你的JIRA的外觀,包括配色、Logo、日期格式  

·  ? Mail Servers  

·  配置郵件服務器,可以配置SMTP或者JNDI  

·  5.1.3 Issue Settings  

·  可以在ADMINISTRATION- Issue Settings中進行以下項目的配置:  

·  Issue Types  

·  Priority  

·  Resolutions  

·  Statuses  

·  JIRA提供兩種配置:翻譯和編輯這些resolution。翻譯可以適應多語言環境。編輯可以改變字段屬性、排序位置、默認值、增刪字段值等。這四個字段的配置都是類似的方法,參見JIRA提供界面應該不存在難度,以下列出配置中需要注意之處  

·  ? 配置Issue Types  

·  系 統自帶的Issue Type包括:Bug, Task, Improvement, New Feature, sub-task .如果需要增加自己的問題類型,下面的Issue Types中進行配置。按照界面進行添加、編輯Issue Type,沒什麼特別。  

·  但如果想刪除已經添加好的Issue Type可能會碰到一些麻煩,當該Issue Type下存在issue的時候是不能刪除這個Issue Type的。有兩種辦法來刪除這個Issue Type  

·  1. 編輯相應的Issue,將Issue Type改成其他不刪除的Issue Type。當Issue被close之後將不能被編輯,所以這種方法存在限制。  

·  2. 改變相應Project的Issue Type Scheme,這個scheme必須不包含待刪除的Issue Type,在改變scheme的時候可能會報錯,如下圖所示:  

·    

·  這是因爲操作用戶沒有權限,應該在Project Permission中增加move issue的權限給操作用戶。之後按照嚮導進行操作即可。  

·  ? 配置Resolutions  

·  通過ADMINISTRATION-Issue Settings中的Resolutions進行設置。  

·  JIRA 默認的Resolutions包括:  

·  1. Fixed  

·  2. Won't Fix  

·  3. Duplicate  

·  4. Incomplete  

·  5. Cannot Reproduce  

·  基本上這五種解決辦法已經足夠了。  

·  注意:  

·  Resolution 這 個字段被JIRA默認的幾個filter做了引用,所以千萬不要自定義一個字段也叫Resolution,同時又把系統自帶的Resolutions字段 屏蔽!這些filter包括open issues, OUTSTANDING, filter中的條件都是Resolution爲 UNRESOLVED,這個UNRESOLVED的含義是Resolution字段沒有設置任何值或者 Issue Status爲非Resolved和 非Closed,所以當一個Issue狀態爲Resolved,即使它的Resolution爲Won’t Fix,它也不會出現在 open issues裏面,即無法解決也是一種解決辦法…  

·  ? 配置Priority  

·  Priority的顏色、圖標都是可以修改的,最常用的Major級別的顏色是綠色,不妨修改爲警告色黃色可以引起更多的重視  

·  ? 配置Statuses  

·  這個字段是供workflow使用的一個字段,當在做工作流配置時如果覺得狀態不夠,那在這裏添加即可。狀態可以關聯Icon可以讓查看issue時更直觀,JIRA提供了17個圖標,足夠來挑選了。  

·  5.1.4 Options & Settings  

·  1. Send E-mail  

·  可以通過這個功能給某個用戶組或者某個項目的特定項目角色發送Email  

·  2. Announcement Banner  

·  這個地方可以設置一個橫幅在JIRA菜單欄下面,可以寫上重要的使用說明、通知等等,支持HTML  

·  5.2 自定義工作流  

·  配置工作流之前請先定好Issue有哪些狀態,狀態的配置見常用配置--Issue Settings部分。  

·  工作流配置從 ADMINISTRATION-General Settings-Workflows進入,系統默認有一個叫做jira的工作流,這個工作 流是隻讀的不能修改。但是可以以此爲藍本來建立工作流,通過 Operations中Copy鏈接即複製了一個一樣的工作流。點擊 Operations--steps進入步驟的設置,進入的界面如下圖所示:  

·    

·  從圖中看Open step,Linked Status表示執行完這個step後,issue的狀態會變成Open,Transitions表示對於Open狀態的issue可以執行的操作,Operations是設置時用到的鏈接。  

·  下面以幾個例子來說明如何配置工作流:  

·  1. 我們認爲Open狀態的issue不能有Resolve Issue這個Transition,所以準備把它刪除,點擊Delete Transitions,之後在多選框中選擇Resolve Issue,刪除即可。  

·  2. 對 於Open狀態的issues,Start Progress這個操作我們想控制它的權限,只有開發人員才能執行這個操作。通過點擊 Start Progress這個鏈接進入設置,我們看到在Conditions這個Tab中已經存在一個條件,含義是“只有assignee才能執行這個操作”,這個condition是合理的,保留。  

·    

·  我 們通過點擊Add鏈接來增加另外一個condition,之後會得到一個列表來選擇 condition的類型,開發人員才能執行同 Project role比較接近,選擇User is in Project Role。其實選擇User is in group 然後配置一個開發 人員組也是可以達到同樣的效果。  

·    

·  在下一屏中選擇 Developers這個Project Role,添加完我們可以看到如下圖所示的Conditions  

·    

·  JIRA默認將增加的 condition用AND來連接,如果需要也可以將條件用OR來連接。  

·  熟悉以上操作後,通過Add New Step,調整每個step關聯的status就可以實現複雜的自定義工作流。  

·  工 作流定義好之後,還需要定義workflow scheme,這個工作流才能被項目引用。通過ADMINISTRATION-Schemes-Workflow Schemes進入配置界面,先增加一個scheme,然後在Operations中的Workflows鏈接中關聯 workflow。JIRA在 workflow之外再包裝一層scheme的意義在於可以針對不同的issue type使用不同的工作流,如下圖。  

·    

·  爲了簡潔起見,我們一般選擇All unassigned Issue Types對應一個工作流。  

·  定義好workflow scheme之後才能被特定的Project所使用,通過ADMINISTRATION—Projects,選擇需要配置的Project進行配置,如下圖:  

·    

·  在Workflow Scheme中點擊Select進行scheme的選擇。在Associate的時候會得到一個警告:  

·   

·  針對已經存在issues的project,修改工作流可能會引起狀態等信息的丟失,所以最好先做好JIRA數據的備份以免發生意外。(我修改過1000個 issues的project的工作流,JIRA可以很好的處理,不用因爲有警告而太緊張,不過事先備份是必須的操作)  

·  另外Project配置界面有很多scheme可配置,方法是類似的,後面不再詳細描述。可以配置的scheme包括:  

·  Issue Type Scheme  

·  Notification Scheme  

·  Permission Scheme  

·  Issue Security Scheme  

·  Field Configuration Scheme  

· Issue Type Screen Scheme  

·  Workflow Scheme  

·  5.3 自定義權限  

·  JIRA中的權限包括兩部分:Global Permission和Project Permission,前者已經描述,配置也相對簡單。本節描述的是後者。  

·  通 過ADMINISTRATION—Schemes— Permission Schemes進入配置。系統定義了一個 Default Permission Scheme,並且這個scheme中的權限是可以直接進行修改的,點擊Operations— permissions進行修改。JIRA將權限分細項列表在配置界面中,通過Operations中Add鏈接或者頁面上方的 Grant Permission進行權限增加,通過Delete鏈接刪除賦予給特定對象的權限。  

·  5.4 自定義字段  

·  通 過 ADMINISTRATION—Issue Fields—Custom Fields進行配置,點擊Add Custom Field進行字段添 加,再下一步是選擇字段的類型,常見的字符型、數字型、日期型、下拉框、雙重下拉框、多選框、單選按鈕等等JIRA都支持。  

·  我們選擇Text Field (< 255 characters)做個測試,之後天上字段名稱、字段描述。Search Template表示該字段使用的搜索類型,如果選擇None,這個字段將不會出現在 Find Issues裏面的查詢條件中,即對該字段將不能進行查詢。後面還有兩個選項:issue types,projects,目的是讓這個自定義 的字段出現在特定的issue type和特定的項目中。點擊Finish之後會得到如下屏幕:  

·   

·  這個設置屏幕是將添加好的自定義字段加入到特定的界面中,選擇需要顯示該字段的界面點擊update即可完成設置。設置完得到如下界面:  

·    

·  Configure 鏈接可以進行issue types, projects設置,Edit可以進行字段名稱和search template修改,Screens可以對字段出現的界面進行配置。  

·  注意:  

·  1. 定義好的字段是不能修改字段類型的!  

·  2. Text Field類型存在一個Bug,如果對該字段填值都是數字,比如輸入300,之後通過Filter來搜索issue將會失敗,但是如果輸入L300, 然後通過L300來搜索是可以搜索到相應issue。  

·  5.5 自定義界面(Screen)  

·  通過ADMINISTRATION— Issue Fields—Screens進行配置,系統自帶有三個Screen,通過Operations中的Configure可以進入配置界面,在這個界面中可以進行字段的增刪、字段順序的排列。  

·  5.6 自定義事件通知  

·  通過ADMINISTRATION—Schemes— Notification Schemes進行配置,系統默認的通知策略是當任意事件發生時都會通知Reporter、Assignee和Watchers。  

·  5.7 和代碼庫(SVN,CVS)關聯  

·  在 測試過程中tester提交了一個bug,developer解決了這個bug,同時提交了幾個java類,如果你想看到針對這個bug項目裏面的代碼做 了哪些修改,jira-subversion plugin就發揮作用了。安裝好subversion plugin之後,只需要developer在做 svn commit的時候在comments裏面寫上jira id,在jira的subversion tab裏面就會顯示這個comments和這 次提交的文件。  

·    

·  注:  

·  目前最新的 atlassian-jira-subversion-plugin-0.10.3 不支持svn 1.5,不過通過升級svnkit到1.1.8以上版本就能解決這個問題  

·  5.8 和Fisheye關聯  

·  而jira fisheye plugin則是將fisheye的功能集成到jira中,同時也是隨jira id來顯示版本的變更記錄:  

·    

·  Fisheye plugin配置時,記得在fisheye管理界面中把Remote API設置成ON,要不然plugin連不上fisheye的!  

·  5.9 Sub-tasks  

·  通過Global Settings—Sub-tasks來開通這個功能  

·  5.10 Time tracking  

·  通過Global Settings—Sub-tasks來開通這個功能,其中對一週幾天,一天幾個小時需要先定義好。  

·    

·  JIRA的網站也有一個描述:Project Management Tool,用JIRA實現項目管理最重要的是開通Time tracking功能。  

·  Activate Time tracking功能之後在創建issue時多了一個字段:  

·    

·  這個字段的含義是預估完成這個任務所需要的時間。  

·  同時在處理issue時,多了一個操作:Worklog,如下圖所示  

·    

·  點擊其中的Log work done進行工作日誌的記錄:  

·    

·  記錄之後在issue detail界面的work log Tab可以看到記錄:  

·    

·  開通Time Tracking之後,JIRA還提供了一個Time Tracking Report  

·    

·  報表如下圖所示:  

·   

·  JIRA完全以時間來確定工作的進度,這種算法還得好好適應一下。  

·  5.11 備份、導入導出  

·  備份通過Import & Export-- Backup Data to XML來操作,導出路徑寫服務器上的絕對路徑,Backup As Zip這個複選框選上則會將XML文件壓縮成一個zip包。  

·  導入則通過Restore Data from XML來操作,導入的文件可以是XML,也可以是zip。  

·  JIRA的導入導出都是基於XML格式,與數據庫平臺無關,這也十分方便系統遷移。  

·  同時JIRA還提供了定時的備份機制,通過ADMINISTRATION—System—Services可以看到這個後臺的服務:  

·   

·  JIRA 默認會在每12個小時進行系統備份一次,其數據安全還是很有保障的。  

·  5.12 系統優化  

· 1. NT 服務修改JVM內存大小  

·  修改%JIRA_HOME%/bin/service.bat文件中的:  

· "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp" --JvmMs 256 --JvmMx 512 --Startup auto  

·  其中-JvmMs是最小內存數,-JvmMx是最大內存數,一般最小256,最大512足夠了。修改完後執行  

· service.bat remove 將原有的NT 服務刪除(如果JIRA服務處於啓動狀態先停止服務)  

·  service.bat  install 安裝新的NT服務  

·  啓動新的服務即生效了  

·  2. 非NT服務修改JVM內存大小  

·  修改%JIRA_HOME%/bin下面的 setenv.bat文件,修改JAVA_OPTS這個環境變量  

·  set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx512m -Datlassian.standalone=JIRA -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true  

·  其中 -Xms256m表示最小內存,-Xmx512m表示最大內存  

·  3. 讓JVM進行garbage collection  

·  如果在使用 JIRA時感到打開頁面明顯變慢,可能的原因是JVM內存吃緊,可以考慮進行手動garbage collection,操作如下  

·  進入 Administration-System Info,在Java VM Memory Statistics這欄可以看到如下圖所示信息:  

·    

·  如果Memory Graph中顯示20% Free,甚至更低,點擊右邊的Force garbage collection後你會得到更到free的內存,一般來說之後打開頁面會變快一些。  

·  6 JIRA需要改進的地方  

·  1. 上傳附件時可以填一個comment,但是這個comment和普通的comment是沒有任何區別的,它並不會和你上傳的這個附件進行關聯。當你想對這個附件加一些描述的時候,你只能在comment裏面指明附件名稱,這樣才能手工關聯附件和comment。  

·  2. Redmine的Calendar是一個非常不錯的設計,將每一天的工作可以一目瞭然的區分開來,雖然在JIRA中也可以通過filter來實現,但還是不夠直觀,redmine的calendar樣子見圖:  

·    

·  當然這個calendar結合到JIRA中可以好好改善改善,比如加上My Calendar只顯示自己的活動,特定Group的Calendar,特定Project的Calendar等等。  

·  3. 關於comments在Redmine中有一個reply的功能,這個功能也是個不錯的設計,JIRA中的comments是沒有關聯的,只能通過自己通過其中的含義來關聯,不過一般來說這也足夠了。  

·  4. 在work log中可以加上一個如TodoList中% complete字段,當問題的% complete達到100%時纔算完成,而不是時間達到estimate的時間纔算完成,其實JIRA的time tracking計算任務的進度算法真是太沒道理了,需要大大的改進。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章