好啦!我們要開始回顧之前做的 JQL Automation 設定解析啦!
這篇文章是練習啟用 Automation template When an issue is updated → search for keywords inside issue and automatically assign a label
當一個 issue 開出來後,在 Sprint 期間,如果有進度就會 update 內容,只要有特定的文字被 update(本次我們設定 iThome ironman ),而我們的 Jira 小秘書就會默默幫你貼標籤 [iThome-Ironman]。
這個設定中分為 When、If、Than,我們先快速的看過 [When] 和 [Than] 的設定,再來看[If]的 JQL。
text ~ "iThome ironman"
這篇文章是手動設定 Daily Slack summary-daily pulse,每天讓你想知道 sprint 中還未完成的任務清單,這個設定中分為 When、Than、And,我們先快速的看過 [When] 和 [Than] 的設定。(此設定無 IF)
Sprint in openSprints() and statusCategory != Done
這個語法中有 Sprint in openSprints() 和 statusCategory != Done 兩個條件,被 and 做為雙種條件的合集,因此其進階目的是搜尋被指派至已開始但尚未完成的 Sprint 的 issues。終於,來到了 30 天鐵人賽的最⋯⋯後⋯⋯一⋯⋯天,回想為什麼我會參加今年鐵人賽,還選了練習 Jira Automation 的各種啟用、設定,為的是進行 IT 管理時能更加有效率。我們來回顧過去 29 天我們做了哪些練習,我會特別說明哪些有是 Template,哪些是手動設定,把這 29 天的練習做個總整理。
大約分為三個主題
Day1-你知道開 Jira 新專案的 Board 可以選 template 嗎?不用自己建喔!
開 Jira 新專案的 Board 可以選 template,不用自已一步一步建,省時有效率。
Day2-如何快速讓 Jira issue 自動納入 Epic ,並從 backlog 跑到 to do
設定 Ticket 時,透過側邊欄位內容設定,不用自己手動拉票,就能自動從 backlog 跑到 to do,這樣可以縮短 Plan 的時間。
Day3-無腦完成啟用 Jira 三個 Epic Automation templates !
啟用三個 Epic Automation templates 的 Template ,這樣就不用額外花時間去修改母票和子票的變動,能夠一鍵同步。
設定成功
Day4-你不是不好只是太用腦,快啟用 Jira Transitioned Automation assigned
啟用「When an issue is transitioned → then automatically assign 」的 transitioned Automation template,就不用透過人工口頭、工作群組、email等等提醒工作負責人變更一事,只要依照工作流,把 ticket 拉至下一個欄位時,Jira 就把 Assignee 由 A 改成 B,然後 email 會自動通知 B,減少溝通成本及系統設定時間成本。
Day5-你不是不好只是太用腦,快啟用 Jira 自動提醒你有五天沒更新票了!
啟用 When an issue remains for 5 days without an update → send a notification to the Assignee 的 Transitioned Automation template ,當 Ticket 被轉換到某一工作流的 status 中(如 To do 或 In Progress ) 停留了五天沒有任何更新,系統會自動提醒 Assignee ,這樣就不用額外檢查,能自動了解工作缺口。
Day26 - Jira 提醒設定好造成同事困擾,一言不合要我動手修好~
把Transitioned Automation template - When an issue remains for 5 days without an update → send a notification to the Assignee,動手調整成 When an issue remains for 5 days without an update & also in progress → send a notification to Slack
因為我無腦用 Automation Template 把 Jira 提醒信設定好,造成同事困擾(ఠ్ఠ˓̭ఠ్ఠ),所以我應該依照團隊真實的工作流這樣才能適用,不然只是擾人,反而無助於 IT 管理!
Day6-又是樸實無華的開單日常-你卡一個 Bug ,Jira 自動抓交替來幫你看!
啟用 When a bug is created → add someone as a watcher 的 Transitioned Automation template,當有人開啟 Bug 這個 issue 時,不用擔心只有自己扛,Jira 會自動抓團隊成員一同來當 [Watcher],多人關注降低問題再出錯的風險。
Day7-又是樸實無華的 Jira 開單日常- 任務到期前1天自動寄催債信
手動設定 When a task is near due → send email reminder 的 Automation r山ule
如果你的開發爆炸是日常,很容易忽略任務進度也就不會發現 issue 接近到期日,因此,在接近到期日前,Jira 小秘書默默的寄了封催債信給你,這樣你會知道死線到了,自審任務進度。
Day8-又是樸實無華的 Jira 開單日常- 小心!更新到關鍵字就會被貼標籤
啟用 When an issue is updated → search for keywords inside issue and automatically assign a label 的 Transitioned Automation template,當一個 issue 開出來後,在 Sprint 期間,如果有進度 update 了特定的文字被,而我們的 Jira 小秘書就會默默幫你貼標籤,在管理 issue 類別上是不是很方便呢?
Day9-確診了也要寫文章!又是樸實無華的 Jira 開單日常-誰開單誰負責啦!
手動設定 Auto-assign to whoever created the issue 的 Automation rule,自己開單又沒有設定負責人,就自動自己負責人吧,這樣就沒有任務是孤兒了,是不是很方便呢?
Day10-又是樸實無華的 Jira 開單日常-Auto-create sub-tasks 省力不少啊!
手動設定 Automatically add 5 sub-tasks on issue creation 的 Automation rule,當特定主題的 ssue 被創造後,其相關的後續子任務 subtask 會自動開出在這個母票下,更方便歸類任務清單以及相依性啊
Day13-完成練習 Daily Slack summary 自動化,但卻出現 SOME ERRORS,有個真 Bug 要解了啦!
手動設定 Daily Slack summary ,讓你想知道 sprint 中還未完成的任務清單,是不是很省事。
Day14-第一次 DeBug 就成功 -Jira Auto-alerts High Priority in Slack
手動設定 High Priority alerts in Slack,當你的 Ticket 的 Prior 被設定為 Highest,你或團隊會在 Slack 收到提醒🔔,這樣可以快速內部審視。
Day15-慶祝鐵人賽文章完成一半,應景玩個 Jira Celebrate Milestones in Slack
手動設定 Celebrate final task in Epic completing ,Whenever the last task is completed in Jira, send a celebratory message to the Slack room.
Slack 不但是溝通頻道,也具有人性化的提醒團隊們辛苦了,工作終於告一個段落了。
Day16-不用一個一個設定,Jira 直接一鍵設定 Slack integration
手動設定 Slack integration,讓 slack 每天例行的回報任務狀況,妥妥的讓 slack 成為了戰情室啊。
Day23 - 反樸歸真一天- 重覆的工作描述就讓 Jira Automation 代勞吧!你去寫 Code 或教我 DeBug
手動設定 When a issue created automation write the description template,每次只要創立特定主題的 issue,那張 issue 就會自動生成 description template,我們就更方便的把任務描述寫上去,不會漏掉重要資訊欄位。
Day11-不想花時間做文件-你需要自動生成 Retro Confluence 的 DevOps 密技
啟用 When sprint is completed → create retro notes in Confluence 的 Automation template,當一個 Sprint 結束後,這時 Jira 小秘書會直接用彈跳式對話框問你,要不要開一個 Confluence 文件,然後你就能享受一鍵開啟文件的樂趣,不用自己手動設定文件,還不會漏掉要做 Review & Retrospective 這樣是不是很棒。
DAY12-在 Retro 文件自動匯入 Jira Tickets !同場加映 Plan Sprint 2
手動設定 在 Confluence 中自動批次插入 Jira Tickets 來做 review & retrospective,這樣就能直接在會議文件上一起瀏覽本次 Sprint 完成的 issues,更方便做討論。
Day17- 為了寫 DevOps Commit -->move issue to in progress 文章,我終於開始寫程式並使用 GitLab ,是不是有點瘋
不會寫程式的我,卻正在寫程式開發專案管理工具的使用文章!為了寫文章,還真的開始學寫 Code 並 import 到 GitLab !所以我要手動設定 DevOps Automation rules - When a commit is made → then move issue to in progress ,真的走一次開發者上 Git 的流程,看到成功連動時,真的覺得很神奇。
Day18 - DevOps - 在 GitLab 開 Commit,Slack 自動告訴你。
手動設定 DevOps Automation rules - When commit created → then send Slack message based on assignee,再次讓 slack 扮演重要成果的小鬧鐘。
Day19 - 工人智慧動手把 Jira 與 GitLab 連結,完成最後一哩路
動手把 Jira 與 GitLab 連結:Use GitLab.com for Jira cloud App to connect Jira,雖然這不是設定 Automation 的環節,但卻是重要的幕後基礎建設。
Day20 - DevOps- 拉 Jira issue 到 IN PROGRESS 立馬 Create a branch in GitLab
啟用 DevOps Automation rules - When issue is moved to In progress → Create a branch in GitLab ,透過工具小技巧,讓 DevOps 更落實。
Day21 - DevOps - 開 Branch,立馬把 Jira issue 移到 IN PROGRESS,真的好棒棒唷
啟用 When a branch is created → then move issue to in progress,透過工作流程進到 GitLab 把該開的 branch 開好,工具之間就會自動連結讓 Jira 票的位置同步,立馬減少工具之間切換來切換去的繁鎖工作。
Day22 - DevOps - 設定失敗! Pull Request is Merged 但 Jira issue 一動也不動
啟用 When a pull request is merged → then move issue to done,但也驗證 DevOps Automation rules 失敗的時刻,因為我只是為了寫文章,而沒有紥實的把 Git 基本功做好,基礎邏輯也不懂,當然無法走到最後,所以不偷懶好好的學習寫程式再學好 Git 吧。
我們從第 3 天開始一直到 第 23 天都是練習設定 Automation rules,今天我們要從過去 30 天內的文章中,揪挑出有使用 JQL 做進階式的搜尋的 Automation rules 來做句型說明。
Day24- 解析 JQL 讓 Automation 更進階-認識 JQL Keywords後,設定開新版本後自動加入 IN PROGRESS 的票中
這篇文章我們會認識 Keywords 用途和用法。
keywords是執行以下任一操作(或是以下操作的一部分)的重要單詞:
Day25 - 解析 JQL 讓 Automation 更進階 - 今天來認識 JQL operators (運算符號)
這篇文章我們會認識 Operators 用途和用法。
Day27- 解析 JQL 讓 Automation 更進階 - JQL fields 是什麼?
這篇文章我們會認識 Fields 用途和用法。
Day28 - 解析 JQL 讓 Automation 更進階 - JQL Functions 函數是什麼?數長慎入
這篇文章我們會認識 Functions 函數用途和用法。
Day29 - 解析 JQL 讓 Automation 更進階 - 搜尋文字欄位的主要語法
這篇文章我們會認識 Jira 中文字串欄位的搜尋語法。
大家以為我文章寫完按下發文就沒事了嗎?
我還有以下的工作要做呢!!!
Complete II3D Sprint 3
最後,我在這最後一天寫完文章並完成 Sprint 3 的任務,按下 Complete II3D Sprint 3。
Create a retrospective
當我在 Scrum board 按下 [complete sprint] 完成這次 Sprint 1 後,回到 Boglog 後,立即彈跳出一個對話框,寫著 Create a retrospective 。
call to action
這 30 天我學習很多,也花很多時間、犧牲很多睡眠時間,回想起來真的很感謝 30 天前開始動手寫文章的自己,因為我相信我可以試著完成這件事,對於我對軟體開發的流程、工具自動化熟悉度、軟體硬知識等都是飛快的成長
這段時間和這 30 篇文章對我而言是美好的事物。
我也謝謝我的同事、主管和社群朋友們對我的打氣,也願意花時間教我相關知識。
接下來我應該不會停下來,我也在我的 retrospective 文件寫下 Action items。
謝謝願意花時間觀看我的文章的朋友,希望你們會覺得有收獲而不是浪費時間
就算是浪費時間也是浪費在美好的事物上啊