禪道16.0版本開始,優化和增強了產品的分支/平臺功能,主要特點如下:
- 多分支/平臺功能兼容各種大小型項目,項目/迭代可以關聯對應產品的某個分支/平臺。
- 分支/平臺支持靈活管理,可以把分支/平臺理解為時間層面的概念,不同時間階段會產生不同的分支/平臺。
- 分支/平臺支持合并功能,可以將已經完成分支/平臺合并到主干和其他分支/平臺。
- 除主干外,其他分支/平臺之間管理是相互獨立的,不能混在一起。
接下來,我們以多分支產品為例,給大家詳細介紹產品的多分支/平臺的增強功能。
一、維護多分支產品的分支
1、將產品設置為多分支產品
添加產品時,產品類型選擇多分支或多平臺。
2、設置產品分支
到產品–設置–分支列表里,查看和維護分支。
系統會自動生成一個主干的默認分支,主干分支不可編輯和刪除。
3、新建分支
點擊分支列表右上角的新建分支按鈕,進入新建分支的彈窗頁面。
輸入分支名稱和分支描述,點擊保存即可。
4、編輯分支
點擊分支列表中的編輯按鈕,可以編輯分支。
編輯分支時,可以修改分支名稱、分支狀態、分支描述。
分支創建成功后,默認狀態是激活的,可以編輯修改為關閉。
批量編輯分支,勾選多個分支后,點擊底部的編輯按鈕,進入批量編輯分支頁面。
批量編輯分支頁面:
5、關閉分支
可以通過分支列表右側操作欄的關閉按鈕對分支進行關閉。
6、分支的排序
拖拽可以實現分支的排序,分支列表排序后,可以實現分支的排序。
排序成功后,其他涉及到分支的排序也與分支列表的排序一致。
重新排序后的下拉組件的分支:
7、分支的合并
主干不可以被合并,分支列表中選中了主干分支,再選擇其他分支,那么底部不顯示合并按鈕。
選擇其他分支時,顯示合并按鈕。
點擊合并后,可以把選中的分支合并到其他非選中的分支里(合并到已有的分支里)。
合并分支后,將會把分支下面對應的發布、計劃、版本、模塊、需求、Bug、用例都合并到新的分支下。
還可以合并到新創建的分支里。
勾選新建分支,輸入新分支名稱和描述,點擊保存即可合并到新建分支中。
點擊保存后,會提示進行確認,合并分支后,數據將不可以恢復,需要謹慎操作。
二、分支所屬模塊的維護
維護了分支后,接下來我們來維護分支下的模塊。分支的模塊維護與正常產品的模塊維護一致,我們簡單介紹說明一下。
1、添加分支的模塊
產品–設置–模塊里,創建和維護當前分支下的模塊。
切換產品下拉組件的分支名后,可以創建其他分支下的模塊。
2、模塊名和分支名的顯示設置
多分支產品下,顯示設置多了一項分支名顯示。
點擊模塊下的顯示設置,可以對列表是否顯示模塊名和分支名進行編輯。
設置為都顯示后,需求列表頁面如下:
三、多分支/平臺產品支持創建孿生需求
多分支/多平臺產品支持創建孿生需求,即為每個分支/平臺創建一條相同的需求,孿生需求間內容同步,狀態不同步。您可以在每個不同的分支/平臺上為需求規劃研發任務。
1、創建孿生需求
- 在多分支/平臺產品中【創建研發需求】,點擊【+】選擇多個分支,并選擇對應的模塊和計劃。
- 點擊保存按鈕后,每個分支會分別創建一個需求,需求間互為孿生關系。
- 孿生需求間除產品、分支、模塊、計劃、階段字段外均保持同步。
2、需求詳情頁中可以查看其他孿生需求
孿生需求中的第一條(標簽為主題色)的需求為當前需求。
3、解除孿生關系
鼠標懸浮在孿生需求上,展示【解除】按鈕,點擊后解除此條需求孿生關系。孿生關系解除后無法恢復。
解除孿生的需求內容不再與其他孿生需求同步。
需求解除孿生后,不影響其他孿生需求間的孿生關系。
4、變更時可以直接解除孿生關系,解除后變更的流程和內容不會同步。
四、分支和其他功能間的關聯邏輯
可以關聯需求、模塊、計劃、發布所屬的分支。
可以關聯版本、Bug、用例所屬的分支。
項目和執行可以關聯產品的分支進行需求開發。
1、模塊的展示和選擇邏輯
主干分支下創建/編輯需求、Bug、用例時,只能選擇主干的模塊。
分支1下創建/編輯需求、Bug、用例時,可以選擇分支1和主干的模塊。
升級數據處理,需求、Bug、用例在哪個分支的模塊下,升級后統一歸并到模塊所屬分支下。
以需求為例:
創建主干需求,只能選擇主干下的模塊。
切換為非主干分支后,所屬模塊可以選擇主干和當前分支的所屬模塊。
2、計劃的展示和選擇邏輯
2.1、需求關聯計劃:
- 創建需求關聯計劃時,只能關聯本分支下的未過期的子計劃。
- 計劃關聯需求時,主干計劃只能關聯主干需求。
- 計劃關聯需求時,分支1計劃能關聯主干和分支1的需求。
2.2、創建計劃:
- 創建計劃可以關聯多個分支,子計劃只能在父計劃的分支范圍內進行選擇。
- 修改父子計劃的分支后,計劃內的需求和bug也將移除。
2.3、項目和執行關聯計劃:
- 項目和執行選擇分支后,可以關聯計劃。
例如:
項目:主干、分支1、分支2
計劃:主干、分支1、分支3
項目關聯計劃后,只能關聯計劃中主干、分支1的需求。
**3、**版本關聯需求和Bug邏輯
主干版本關聯需求時,不點擊搜索,列表顯示執行已關聯主干的需求且版本未關聯的主干需求,點擊搜索時搜索主干所有的需求。
主干版本關聯Bug時,不點擊搜索,列表顯示執行下主干Bug且版本未關聯的主干Bug,點擊搜索時顯示主干所有Bug。(不再區分提交Bug關聯的執行)
分支1版本關聯需求時,不點擊搜索,列表顯示執行已關聯主干和分支1的需求且版本未關聯的需求,點擊搜索時搜索主干和分支1所有的需求。
分支1版本關聯Bug時,不點擊搜索,列表顯示執行下分支1的Bug且版本未關聯的分支1下的Bug,點擊搜索時顯示主干和分支1所有的Bug。
以版本關聯需求為例,我們來說明以上邏輯:
主干的版本關聯需求頁面,未點擊搜索時,列出了執行已關聯的需求且版本未關聯的主干分支的需求:
點擊搜索后,列出了主干分支下所有的需求。
4、發布關聯需求和Bug的邏輯
4.1 產品發布關聯需求和Bug(主干)
關聯需求:默認進來顯示當前產品的主干需求,搜索也是顯示主干需求。
關聯Bug:默認進來顯示當前產品的主干下的Bug,搜索也是顯示主干下的Bug。
4.2 產品發布關聯需求和Bug(分支1)
關聯需求:默認進來顯示當前產品分支1和主干需求,搜索也是顯示分支1和主干需求。
關聯Bug:默認進來顯示當前產品分支1和主干下的Bug,搜索也是顯示分支1和主干下的Bug。
4.3 項目發布關聯需求和Bug(主干)
關聯需求:默認進來列版本所屬產品關聯的主干需求,搜索列當前產品下所有的主干需求。
關聯Bug:默認進來列版本所屬產品關聯的主干下的Bug,搜索列當前產品下所有的主干下的Bug。
4.4 項目發布關聯需求和Bug(分支1)
關聯需求:默認進來列版本所屬產品關聯的主干/分支1需求,搜索列當前產品下所有的主干/分支1需求。
關聯Bug:默認進來列版本所屬產品關聯的主干/分支1下的Bug,搜索列當前產品下所有的主干/分支1下的Bug。
4.5 關聯遺留的Bug默認進來列出的范圍
當前發布所屬產品所屬分支/主干下、Bug創建日期在版本所屬迭代起止日期中間(可以等于),激活狀態、或解決日期大于版本所屬執行的結束日期,且是該發布下未關聯的Bug。
4.6 關聯解決的Bug默認進來列出的范圍
本所屬產品關聯的主干/分支1需求,搜索列當前產品下所有的主干/分支1需求。
關聯Bug:默認進來列版本所屬產品關聯的主干/分支1下的Bug,搜索列當前產品下所有的主干/分支1下的Bug。
4.5 關聯遺留的Bug默認進來列出的范圍
當前發布所屬產品所屬分支/主干下、Bug創建日期在版本所屬迭代起止日期中間(可以等于),激活狀態、或解決日期大于版本所屬執行的結束日期,且是該發布下未關聯的Bug。
4.6 關聯解決的Bug默認進來列出的范圍
當前發布所屬產品所屬分支/主干下、Bug解決日期大于版本所屬迭代開始日期和屬于當前版本的所屬執行的Bug,或者不屬于當前版本的所屬執行,但創建日期小于版本所屬執行的開始日期,且為該發布下未關聯的Bug。