## Agenda - Dashboard:儀錶板使用 - Custom process:客製化流程 - Custom work item field:工單欄位客製化 - Release and Bug ticket:透過客製化方式新增即調整 Release 及 Bug Ticket ## Map [TOC] ## 1/ Dashboard - 左邊選單列中的 Overview 下點選 **[Dashboards]**,點選 **[Add a widget]** ![](https://i.imgur.com/fdESMt0.png) - 選擇 **[Assign to me]**,然後點選 **[Add]** ![](https://i.imgur.com/UHRuj9v.png) - 可再添加 **[New Work Item]**,**[Query Tile]** 或自行添加其他項目 ![](https://i.imgur.com/R84Rnzl.png =300x) ![](https://i.imgur.com/70N5zCJ.png =300x) ![](https://i.imgur.com/kcD9rZ4.png =300x) - 完成後選擇 **[Done Editing]** ![](https://i.imgur.com/Xp3eATq.png) - 點選 **[Query Tile]**,**[Select Queries]** 選擇 **[Shared Query]** > **[Task in Active]**(先前在 query 內建立的) ![](https://i.imgur.com/Xls4I1l.png =500x) - 新增 work item template 新增快捷鍵 - Project Settings > Team Configuration > Bug > ... > Copy link ![](https://hackmd.io/_uploads/HyX3hVkun.png) - 新增 markdown ![](https://hackmd.io/_uploads/Hk99pV1O2.png =400x) - 點選 configure ![](https://hackmd.io/_uploads/BknjpVkOh.png =200x) - 將複製的 template URL 貼於 () 中並複製貼上 Custom markdown 欄位 ``` - [API Bug ticket](將 copy link 貼於此) ``` ## 2/ 自定義 Process ### 新增以 Agile 為基礎的 Process - Organization Setting > Process > Agile > … > Create inherited process ![](https://hackmd.io/_uploads/r17aCEkdn.png) - 填寫名稱後選擇 create process ![](https://hackmd.io/_uploads/H1Jg1r1O2.png =500x) - 選擇建立的 process 名稱 ![](https://hackmd.io/_uploads/BJtB1HyOn.png =500x) - **Work item types** 可新增 work item 類別及調整該 work item 之欄位 ![](https://hackmd.io/_uploads/r1ONerJ_3.png) - Backlogs levels 調整 board 頁面上各層級所顯示的 work item type ![](https://hackmd.io/_uploads/Bk9DlB1_2.png) - **補充**:Bug 要 by project 設定,如要將 bug 顯示在 Stories 這個層級,則在 boards setting 做設定 ![](https://hackmd.io/_uploads/H1iCxByuh.png) - Boards ![](https://hackmd.io/_uploads/r1pyZryO3.png) - Sprints ![](https://hackmd.io/_uploads/rkKW-ry_n.png) - **Projects** 可察看目前套用此 process 的 project ![](https://hackmd.io/_uploads/BkAOWBkO2.png) ### Process Workflow #### Workflow 須遵循以下 - 須至少定義一個狀態於 Proposed 或 In Progress State categories - 每個 work item type workflow 最多 32 個工作流程狀態 - 無法修改繼承的狀態 (無法變更其名稱、色彩或類別) ,但可以隱藏 ![](https://hackmd.io/_uploads/B1lWOllOn.png =500x) - 只能在 **Completed** State categories 中擁有一個狀態,如將自訂狀態新增至 **Completed** 類別,則會移除或隱藏任何其他狀態 ![](https://hackmd.io/_uploads/B1HyuxlO2.png =400x) #### 調整 process workflow - 添加 Task 工單狀態 : Task > State > New State ![](https://hackmd.io/_uploads/rysSHglOh.png) ![](https://hackmd.io/_uploads/B1x_Bleun.png) - 新增一個 `Review` 在 `Proposed` 的 State category ![](https://hackmd.io/_uploads/rynCHglu2.png =500x) - 新增完成 ![](https://hackmd.io/_uploads/SyR1IglO2.png) ### Fields 每個欄位由下列三個屬性所定義: - 資料類型 (Type):指定可以輸入欄位的資料類型,例如布林值、浮點數、整數、字串等 - 易記名稱 (Name):指定指派給欄位的名稱,此名稱可能與工作專案表單上顯示的名稱不同 #### 調整 Work Item 欄位 - 添加 Task 工單欄位 : **Task > Layout > New Field**,新增一個欄位 `Follow Up` ![](https://hackmd.io/_uploads/HkWp--euh.png) ![](https://hackmd.io/_uploads/rJcFzbeO2.png) - 如先前有新增過的欄位,可直接選擇 Use an existing field - 設定該欄位是否必填及預設值 ![](https://hackmd.io/_uploads/SyQCGbldn.png =500x) - 隱藏不需要的預設欄位 ![](https://hackmd.io/_uploads/ByjEXbgOh.png) - 新增名為 `Information` 頁籤:New Page ![](https://hackmd.io/_uploads/SyiD7be_3.png) - 於新增的頁籤中添加 `Action` 區塊:New group ![](https://hackmd.io/_uploads/BJef4Ze_h.png) - 將剛剛新增的 `Follow Up` 移動至 `Information` 頁籤 ![](https://hackmd.io/_uploads/SJ9w4WlO3.png) - Layout > Page > 選擇 Information ![](https://hackmd.io/_uploads/HJB5N-eO2.png =500x) - 在 Information 的 Action 區塊中新增欄位 ![](https://hackmd.io/_uploads/HkcC4-gOn.png) - 新增 `External Bug No` 欄位 ![](https://hackmd.io/_uploads/rysUS-edn.png =400x) ### 設定 Process Rule - 選擇 Rules > New rule ![](https://hackmd.io/_uploads/SJJpB-xu3.png) - 設定 **當狀態為 New 時僅能移動至 Review** - Conditions 使用 A work item state moved from New ![](https://hackmd.io/_uploads/ryfBLZeO3.png) - Action 選擇 Restrict the transition to state Active ![](https://hackmd.io/_uploads/Bym_8-ld3.png) - 點選 New action 新稱第二個限制 ![](https://hackmd.io/_uploads/SJbc8Zldn.png) - 新增第三個限制 ![](https://hackmd.io/_uploads/SJx2LZld3.png) - 完成後點選 ![](https://hackmd.io/_uploads/S1xTIZx_n.png =60x) (儲存前須先填寫 rule name) - 設定 **僅有 Reviewer 成員能將狀態從 Review 移動至 Active、Completed 及 Closed** ![](https://hackmd.io/_uploads/ryBXh-l_3.png) - 設定後,非 group 成員者無法顯示其他無法移動的狀態 ![](https://hackmd.io/_uploads/Hykun-g_3.png) ### 新增 Work Item Type - 點選 Process Name > New work item ![](https://hackmd.io/_uploads/H1E7uZxd3.png) - 新增 `Release` work item type ![](https://hackmd.io/_uploads/HkxM_ubld3.png =400x) - 新增完成 ![](https://hackmd.io/_uploads/SkkqObx_2.png) ### 將現有 Project 更改 process - Organization Setting > Agiles > 要更改的 Project Name > ... > Change Process ![](https://hackmd.io/_uploads/BkeRxct_n.png) - 選擇自行新增的 process ![](https://hackmd.io/_uploads/r1IkZ9Ku3.png =400x) ## 3/ Release ticket - 調整 Release 的 backlogs level 與 Feature 一致,選擇 Backlog levels > Features > ... > Edite/Rename ![](https://hackmd.io/_uploads/B1qWcWgdn.png) - 將 Release 做勾選 ![](https://hackmd.io/_uploads/Skqrc-gun.png =600x) <!-- ![](https://hackmd.io/_uploads/BkaEqZxO2.png) --> - 回到 work item types 頁面,將 Feature 禁用 ![](https://hackmd.io/_uploads/ryfK9-xu3.png) - 選到剛剛新增的 Release work item ![](https://hackmd.io/_uploads/HJZNtWgdn.png) ### 調整 Workflow - Proposed 中新增 `Apply`、`Reject` 及 `Preview`,移除預設的 New ![](https://hackmd.io/_uploads/ry5N3Mgdn.png) - In Progress 中新增 `Testing` 及 `Review`,移除預設的 Active ![](https://hackmd.io/_uploads/B1i2hGldh.png) - Completed 新增 `Release` ![](https://hackmd.io/_uploads/B1MGpfl_2.png) - 新增一個 Removed 的 State Category,並將 `Drop` 新增到此狀態類別 ![](https://hackmd.io/_uploads/BJPDTMxOh.png =500x) - 完成 ![](https://hackmd.io/_uploads/ry_uTGg_2.png) - 為 State 設定 rule ### 調整 Field - 新增 `Initiator` 欄位,Type 設定為 `Identity` ![](https://hackmd.io/_uploads/Hy3_DXFO3.png =500x) - Options 可設定必填 ![](https://hackmd.io/_uploads/ByBpP7Yuh.png =500x) - 選擇 **Add field** 完成新增 - 新增 `SW Name` 欄位,Type 設定為 `Text (single line)`,並設定為必填 ![](https://hackmd.io/_uploads/H1PoqmK_3.png =500x) - 分別新增以下欄位,Type 設定為 `Text (single line)` - `SW Version` - `SW Part Number` - `HW Part Number` - `Product Module` - 新增 `SW Type` 單選清單,Type 為 **Picklist (string)**,Picklist items 添加 `Application`、`Firmware`、`Preload`、`Others` ![](https://hackmd.io/_uploads/B1Va94tOn.png =500x) - 新增 `SW Status` 單選清單,Type 為 **Picklist (string)**,Picklist items 添加 `Release`、`Drop`、`Review`、`Testing`、`Preview`、`Reject` - 新增一個區塊,點選 **New group**,填寫名字,並設定 Layout,完成後點選 Add group ![](https://hackmd.io/_uploads/rJ9r14t_n.png) - 在 Date 的區塊新增欄位 ![](https://hackmd.io/_uploads/HkcdkNYO3.png =500x) - 新增以下欄位,Type 設定為 Date/Time - `Apply Date` ![](https://hackmd.io/_uploads/H1Vak4Kd3.png =500x) ![](https://hackmd.io/_uploads/HkYoVVFun.png =500x) - `Target Date` - `Release Date` - 設定完成 ![](https://hackmd.io/_uploads/SJPcTNKu2.png) ![](https://hackmd.io/_uploads/r17a64Ku3.png) ### 設定 Process Rule - Rules > New rule ![](https://hackmd.io/_uploads/Bk_ECEY_2.png) - 系統依據 State=Release 時間寫入 Release Date 欄位的資料 ![](https://hackmd.io/_uploads/H19CJHtu2.png) - 狀態的 rule 調整 ![](https://hackmd.io/_uploads/ByU_7HKO3.png) - Apply ![](https://hackmd.io/_uploads/Hy53mSt_3.png =600x) - Preview ![](https://hackmd.io/_uploads/By2c7rFuh.png =550x) - Reject ![](https://hackmd.io/_uploads/BkECOHt_3.png =550x) - Testing ![](https://hackmd.io/_uploads/HkCGFSYd2.png =550x) - Review ![](https://hackmd.io/_uploads/H15LtrKd2.png =550x) - Drop ![](https://hackmd.io/_uploads/SklJcSYO2.png =550x) - Release ![](https://hackmd.io/_uploads/BkAy9SK_3.png =550x) - 限制 General User group 的使用者無法將狀態移動至限制的狀態 - 新增 Group,Organization > Permission > Group ![](https://hackmd.io/_uploads/HyBm6rYuh.png) - 新增 Project Manager 及 General User ![](https://hackmd.io/_uploads/ByCvnStu2.png =400x) ![](https://hackmd.io/_uploads/ByiyRBFOn.png =400x) - 設定 rules ![](https://hackmd.io/_uploads/r1loAHYd3.png =550x) ### 新增 Release work item - Project > Boards > New work item > release - 新增 `BMC FW` release work item ![](https://hackmd.io/_uploads/Sy1FcYYuh.png) - 新增版本,Releated Work > Add Link ![](https://hackmd.io/_uploads/rJUo9YYuh.png) ![](https://hackmd.io/_uploads/ByakiFY_2.png =500x) - 查看 Board ![](https://hackmd.io/_uploads/HkOBoKtu3.png) ## 4/ Bug ticket - Process > 客製化的 process > Work Item types ![](https://hackmd.io/_uploads/Sy7Z-UFdn.png) ### 調整 Workflow ![](https://hackmd.io/_uploads/B1llYuYOn.png) - 分別新增狀態到對應的狀態類別下 ![](https://hackmd.io/_uploads/ByVXq_tun.png) ### 調整 Field - 隱藏欄位 - 選擇特定的欄位 > ... > Hide from layout ![](https://hackmd.io/_uploads/SkYhOUYOn.png) - 隱藏其餘不需要的欄位 ![](https://hackmd.io/_uploads/SJZ66LKu2.png) #### Creator - 新增 `Creator` group,**New group** > 填入名稱 > **Add group** ![](https://hackmd.io/_uploads/HkMqiLF_2.png =500x) - 新增 `Creator` field,設定為 Identity ![](https://hackmd.io/_uploads/rJoahLKu3.png =500x) ![](https://hackmd.io/_uploads/Hk7an8Fun.png =500x) - 新增 `Create Date`,設定為 Date/Time ![](https://hackmd.io/_uploads/HklWpIKdh.png =500x) ![](https://hackmd.io/_uploads/SJcka8YOh.png =500x) - 新增 `System` page,**New page** > 填入名稱 > **Add page** ![](https://hackmd.io/_uploads/B1qdT8tun.png) #### Planning - 在 `Planning` 區塊新增 field ![](https://hackmd.io/_uploads/BymrDYFuh.png) - 使用既有的 field 新增`Closed Date`,此 field 會在 State 為 Closed 時填入日期,當狀態異動時則清除 ![](https://hackmd.io/_uploads/HJeGDvFKd3.png =500x) #### System Releated - 新增 `System` 頁籤,Layout > New Page - 在 System 頁籤新增 `System Info` 的 field ![](https://hackmd.io/_uploads/SkV_ALtO2.png) - 分別新增 `System Impact`、`End User Impact` 及 `Likelihood`,Type 設定為 **Picklist(string)** ![](https://hackmd.io/_uploads/SJzzJPKun.png) - 各欄位清單 ![](https://hackmd.io/_uploads/rkgD1DYun.png) - 新增 `RPN`,類型為 Picklist(String),清單輸入 `severity 1`、`severity 2`、`severity 3`、`severity 4` ![](https://hackmd.io/_uploads/rkgPRvFd2.png) - 使用 Visual Studio Marketplace 自動填寫套件 [Auto Fill Field Control](https://marketplace.visualstudio.com/items?itemName=AviHadad.Analize-Value) - 安裝 ![](https://hackmd.io/_uploads/SyRXcVJu2.png) - 選擇要安裝的組織,點選 Install ![reference link](https://hackmd.io/_uploads/Bk2u9Vy_3.png) - 安裝完成後重新整理,點選 Add custom control > Options ![](https://hackmd.io/_uploads/BJMpyDtu2.png =500x) - **Control Name** 可自行定義,需與後續 csv 檔案上傳名稱相同,**AutoFill** 設定要自動填寫的欄位,**FieldValue** 則設定要參考的欄位 ![](https://hackmd.io/_uploads/H12WedFd2.png =500x) ![](https://hackmd.io/_uploads/H1BMxuKun.png =500x) - 下載 CSV - [RPNCalculate](https://1drv.ms/x/s!AtAJk4ApWmAFhLYlN-JhRD_d7Ev_tg?e=H2Hhlg) - 新增 CSV,Organization Setting > Extensions > Auto Fill ![](https://hackmd.io/_uploads/BJxIWDFd2.png) - Configurations > Upload auto fill values by CSV file > Choose files ![](https://hackmd.io/_uploads/B1UoSPKO2.png) - 如果上傳成功會跳出確認視窗 ![](https://hackmd.io/_uploads/S1enrvK_3.png =450x) - 可看到上傳資訊,Control Name ![](https://hackmd.io/_uploads/r1ee8vKO2.png =700x) #### Solution - 新增 `Solution` 頁籤,Layout > New Page - 新增 `Soultion` 及 `Solution Version` 欄位,類行為 **Text (multiple lines)** ![](https://hackmd.io/_uploads/BJSLutYdn.png) ### 設定 Process Rule - Rules > New rule ![](https://hackmd.io/_uploads/By6w5uF_n.png) - 當狀態為 **Apply** 時,僅能異動至 Bug MGR Review ![](https://hackmd.io/_uploads/HyihiuKd2.png =500x) - 當狀態為 **Bug MGR Preview** 時,僅能異動至 **Deferred**、**Cancel** 或 **Analyze** ![](https://hackmd.io/_uploads/SkuSQttd2.png =500x) - 當狀態為 **Analyze** 時,僅能異動至 **Solve** 或 **Bug MGR Preview** ![](https://hackmd.io/_uploads/SJUaetFd3.png =500x) - 當狀態為 **Solve** 時,僅能異動至 **Analyze** 或 **Bug MGR Review** ![](https://hackmd.io/_uploads/SJqSUYFdh.png =500x) - 當狀態為 **Solve** 將 **Solution** 及 **Solution Version** 設定為必填 ![](https://hackmd.io/_uploads/SkIMjut_h.png =500x) - 當狀態為 **Bug MGR Review** 時,僅能異動至 **Verify** 或 **Analyze** ![](https://hackmd.io/_uploads/Hk2hzYYu2.png =500x) - 當狀態為 **Verify** 時,僅能異動至 **Analyze**、**Close** 及 **Limit** ![](https://hackmd.io/_uploads/ByAszKKd2.png =500x) - 回到 board,新增 bug work item 驗證功能 - 當設定至 Solve 時,Solution 變為必填 ![](https://hackmd.io/_uploads/Hk6i7tYO3.png )