在〈Template 在實務上可以寫哪些資料呢〉中有提到在 Hide when empty 的欄位區塊中,放置一些用來紀錄時間點的欄位,用來計算 Kanban 相關概念的時間,今天這篇就來聊聊如何自動化的去記錄這些時間。
目前分為:
這幾個的自動化策略剛好都不同,很適合做案例探討,我們就逐個去講吧!
建立一條 Rule,會用到一個 Trigger 和一個 Action。概念就是當使用者將故事填入了 Story point estimate 時,就視作為 Refined At 的時間點。綜覽如下圖:
先建立一個 Field value changed 的 Trigger,然後顯示只有在 Story point estimate 被編輯時才會觸發。
然後新增一個 Edit issue 的 Action,在下拉是選單選擇 Refined at。
最後再輸入框填入 Smart Value {{now}}
填寫現在的時間。
建立一條 Rule,會用到一個 Trigger、一個 Branch 和兩個 Condition 和一個 Action。概念就是 Sprint Starts 時,針對 Issue Type 是 Story 且狀態是 To Do 的待辦事項,就視的下作為 Sprint Began At 的時間點。綜覽如下圖:
建立一個 Sprint Start 的 Trigger
建立一個 Branch,並選擇 Issues in the sprint
透過 condition 限定要 Story issue type
並且 Sprint began at 要為空值,
然後新增一個 Edit issue 的 Action,在下拉是選單選擇 Sprint began at。
最後再輸入框填入 Smart Value {{now}}
填寫現在的時間。
建立一條 Rule,會用到一個 Trigger、一個 Branch 和兩個 Condition 和一個 Action。概念就是當一個 subtask 開始動工時(移動到 In Progress),就去檢查他的父 Issue 的 Work began at 是否為空,如果是的話就更新當下的時間上去。
建立一個 Issue transitioned 的 Trigger,並且是從 To Do 移動到 In Progress 時觸發。
接著檢查 issue type 是否違 subtask,
如果是的話,再用 branch 去指向其 parent,也就是父 issue。
然後再檢查該父 issue 的 Work began at 是否為空,
然後新增一個 Edit issue 的 Action,在下拉是選單選擇 Work began at。
最後再輸入框填入 Smart Value {{now}}
填寫現在的時間。
Released at 有兩種做法:
透過 Issue Transitioned Trigger 觸發,條件是被更新為 Released to User,接著判斷是否為 Story issue type,若是,則更新 Released at 為當前的時間。
針對指定的 issue type 開啟 Edit workflow 的功能。
點擊 Any status 指向 Released to user 的 transition arrow:
選擇 Update an issue field:
並且指定更新 Released at 為 date and time of transition。
大功告成!