
用 Google Apps Script
建立 LINE Notify 推播通知
因為公司系統警示訊息以前都是用簡訊發送,但是簡訊要花錢,工程師在上班開發時,不會盯著手機看常常會漏掉簡訊通知,於是我想到能夠利用 LINE Notify 把 Azure 系統警示訊息用 Webhook 的方式自動推播到工程師的 LINE 群組內,這樣開著電腦也能夠收到訊息了!
LINE Notify 是一個 LINE 官方開發的機器人,可以利用呼叫這隻機器人發送 LINE 的訊息,本文就會利用Google Apps Script 簡單的免費工具呼叫 LINE Notify 機器人進行訊息推播,也會提供範例,就算不會程式碼也沒關係,貼上就可以用了。
開通 LINE Notify
在這個網站上登入 LINE 帳號:https://notify-bot.line.me/zh_TW/
並且進入個人頁面

在頁面最下方找到發行權杖

填寫權杖名稱,並選取要接收通知的聊天室,請注意權杖名稱之後會出現在推播訊息的內容中,所以請依需求命名。

會得到發行的權杖,請好好保存,因為按關閉後就不會再顯示了喔

建立 Google Apps Script
進入網站 https://script.google.com/home/projects/create,建立一個新的Google Apps Script,並貼上下列程式碼。
此範例,接收一個name的參數作為警報名稱的參數送給LINE Notify API 顯示在推播內容中,這裡可以依需求增加參數或是修改格式。
詳細API文件及參數請參考官方文件
function doPost(event) {
var param = event.parameter;
// 抓取警報名稱參數
var name = param.name;
UrlFetchApp.fetch('https://notify-api.line.me/api/notify', {
'headers': {
'Authorization': 'Bearer ' + '<權杖>',
},
'method': 'post',
'payload': {
// 指定推播訊息內容
'message': name
}
});
}
在執行項目裡,可以看到執行的紀錄

如果使用情境沒有這麼複雜,可以使用以下程式碼,填入你要傳送的訊息內容,並點選執行就可以立刻執行推播了:
function doPost(event) {
var param = event.parameter;
UrlFetchApp.fetch('https://notify-api.line.me/api/notify', {
'headers': {
'Authorization': 'Bearer ' + '<權杖>',
},
'method': 'post',
'payload': {
// 指定推播訊息內容
'message':'<這裡放你要傳送的訊息內容>'
}
});
}
Azure Alerts Webhook (Optional)
到 Azure Portal 中的 監視 > 警示 功能中,點選 動作群組,並點選建立。

建立動作群組中,”基本” 頁籤中的資料請依需求填寫即可,關鍵在於”動作”頁籤,動作頁籤中類型請選擇 “Webhook” , URI 請填寫 Google Apps Script 中的URL,記得如果有參數這裡要加入參數值 ( 例如 ?name=CPU異常 )

建立完動作群組後,將動作群組加入警示規則中,驗收推播訊息內容。
