轉自:http://blog.csdn.net/tglg/archive/2009/03/12/3983109.aspx
一、幾個概念
在具體開始創建一個Jira的工作流項目之前,必須先了解幾個Scheme概念,Scheme這裏可以理解爲“組合設計方案”。
Scheme |
相關設計元素 |
說明 |
Issue Type Scheme |
Issue Type |
定義一個項目擁有哪些問題類型,例如缺陷、需求、變更請求、問題、建議等 |
Notification Scheme |
Event |
定義一個項目的郵件發送規則,例如問題創建的時候需要發送給管理者,問題指派的時候需要發送給被指派人等。 |
Permission Scheme |
Permission |
定義一個項目的操作權限控制規則,例如創建問題的權限,編輯的權限,查看的權限等。不包括工作流的權限和全局權限。 |
Issue Security Scheme |
Security Level |
定義一個項目的單個問題的查看權限,例如可以對某個或某些敏感問題設定只有指定的人可查看。 |
Field Configuration Scheme |
Field Configuration |
定義了一個項目中每個問題類型分別需要用到的字段,以及是否必填和默認值等信息 |
Issue Type Screen Scheme |
|
定義了一個項目中不 同問題類型分別對應的視圖組合設計方案(Screen Scheme) |
Workflow Scheme |
Workflow |
定義了一個項目和指定的問題類型對應的工作流。 |
Screen Scheme(不直接跟項目綁定) |
Screen |
定義了一個視圖組合設計方案,例如創建的使用用哪個視圖,編輯用哪個視圖,以及沒指定視圖的操作默認使用的視圖等。 |
二、設計步驟
具體開始創建一個工作流項目之前必須按照上表中的相關設計元素一欄所列內容展開,本文按一般的設計思路順序逐一介紹。
1、 確定需要用到的所有Issue Types,並在jira中設計好
2、 根據Issue Types確定需要用到的所有字段域,如果非系統默認字段,則需要在jira中設計Custom Fields,並添加一個Field Configurations,來對每個字段進行顯示設置。最好添加一個Field Configuration Schemes來綁定issue type跟Field configuration的關聯。
3、 根據不同的Issue Type來確定是否需要針對不同的Issue Type設計不同的Workflow,Workflow的設計是最關鍵的一步,需要全局考慮很多設計元素,例如Permission(工作流權限,誰或哪些角色可以進行工作流操作)、event(一般會使用到郵件通知event),screen(每一步工作流響應需要綁定到哪個screen)。
A、 畫出workflow的狀態轉移流程圖,方框代表狀態,箭頭代表觸發狀態轉移的路徑,箭頭上的標註代表觸發的動作。
B、 根據狀態轉移流程圖確定每一個操作的權限控制,以及每一個操作結束觸發的event(例如郵件通知)
C、 根據權限控制的需求,確定用戶的組和角色設置(這個也可以在最初規劃好)
D、 如果不能用默認的event,則必須自己創建event
E、 畫出狀態轉移流程圖後,千萬不要急着在jira中設計workflow.
4、 根據上面的狀態轉移流程圖,在jira中完成statuses的設計
5、 根據上面的狀態轉移流程圖,確定每個操作需要綁定的視圖(Transition View),並在jira中完成screens的設計,同時創建一個Screen scheme,並指定一些默認設置。
6、 添加一個Issue type screen scheme來設置issue type跟screen scheme的關聯
7、 根據上面的狀態轉移流程圖,確定每個操作是否需要綁定一些後置事件,例如郵件發送等,如果有則需要先設計event
8、 在jira中設計一個workflow,設計workflow需要用到的信息,上面都必須提前完成,需要特別強調的是,workflow一旦被綁定到項目,則不允許修改了,必須先取消綁定,再修改。在添加每個狀態轉移的操作(Transition)時,需要注意是否需要設定如下圖所示的幾個屬性。創建好了workflow以後,再創建一個workflow scheme,並設定每個issue type跟workflow的關聯。
9、 Notification scheme 和 permission scheme 的設計相對比較獨立,根據自己的需要和規則在jira中完成即可。
10、 創建好了以上的所有信息以後,就可以正式創建項目了。創建好項目後,把上面的設計的各個scheme 綁定到項目。
三、其他一些建議事項
1、jira裏的權限控制建議採用角色(role)映射的方式實現,既把用戶和組映射到對應的角色,這樣不同的項目可能分組的方式不同,但是角色基本都是一樣的,簡化管理。
2、靈活運用Components和versions這兩個字段,因爲這個兩個字段可以由項目經理自己維護,決定增加還是刪除值項,如果是自定義字段,則需要管理員維護。
轉自:http://janson-shi.spaces.live.com/blog/cns!ED3A56C088560E1E!400.entry