在Azure DevOps CI CD Pipeline中直接發送LINE通知訊息
這是一個我很久以前就想實現的功能。
儘管Azure DevOps的Pipeline本身可以搭配WebHook,依照監聽的事件掛上各種通知,但相對來說比較不直覺,如果能夠在 Pipeline 中,直接透過某個Task來發送LINE通知,會方便很多。
使用的情境很廣,你可以在自動化建置(Build)或佈署(Deploy)的過程中,將成功與否的狀態,直接通知某一個群組或個人(主管、團隊Leader),並且留下紀錄。
我們採用 LINE Notify 最主要的原因是 – 迅速、免費。
LINE 這個 App 在台灣幾乎每台手機上都有安裝,沒有人沒有LINE。速度甚至比簡訊還快,所以作為通知方式是相當有效的。
申請 Token 來發送 LINE Notify 訊息
要發送 LINE Notify 訊息,其實很簡單。
任何人(只要你有LINE帳號),都可以到底下網址 https://notify-bot.line.me/ 免費建立一個 Token ,即可透過程式碼以自動化的方式發送訊息到你的LINE帳號,或是你指定的群組。
建立 LINE Notify Token 的方式如下:
如果要發送到群組,記得要將 LINE Notify 這個帳號邀請進入群組中,將來,訊息會透過統一的 LINE Notify 帳號發到你的 App 中,收到時類似底下這樣。參考上面的影片,下圖中的【test20230408】,就是你在建立權杖時候設定的名稱。
而自動化發送訊息方式,原本得透過 Rest API,相關的文件在底下:
https://notify-bot.line.me/doc/en/
寫程式當然比較麻煩,筆者為 LINE Notify 做了一個 Azure DevOps Task,有了 LINE Notify Task之後,就可以直接在 Azure DevOps Pipeline 中發送。
使用 LINE Notify Task
現在,你可以透過使用該 Task 直接在Pipeline中發送訊息:
該Task安裝位置如下:
https://marketplace.visualstudio.com/items?itemName=tw-developer.LineNotify
你可以透過上面位置來安裝到組織中。
安裝好之後,即可直接在Pipeline當中使用:
使用的方式很簡單,只需要把 『Line Notify Token』 以及『你要發送的訊息』填入task中的欄位即可。
請留意,拿到你的 Line Notify Token 的人,都可以透過 API 發送訊息給你(或你指定的群組),因此,這個 Token 有一定的機密性質,請在填寫時留意資訊安全。 建議可以採用類似 Azure KeyVault 或secret variable 的方式設定以保障安全。
設定好之後,運行該 pipeline,不管是 Windows Agent 或是 Linux Agent 都可以順利發送 LINE 訊息唷:
未來,只需要把想要發送的訊息直接寫入(或利用變數帶入) Message 欄位即可。
留言