goalert notification provider added

This commit is contained in:
Muhammed Hussein Karimi 2022-08-23 22:22:54 +04:30
parent 04fc124928
commit 65e6921a41
2 changed files with 34 additions and 0 deletions

View file

@ -0,0 +1,32 @@
const NotificationProvider = require("./notification-provider");
const axios = require("axios");
const { UP } = require("../../src/util");
class GoAlert extends NotificationProvider {
name = "goalert";
async send(notification, msg, monitorJSON = null, heartbeatJSON = null) {
let okMsg = "Sent Successfully.";
let closeAction = "close";
let parameters = {
token: notification.goAlertToken,
summary: msg,
}
if (heartbeatJSON["status"] === UP) {
parameters["action"] = closeAction;
}
try {
await axios.get(`${notification.goAlertBaseURL}/api/v2/generic/incoming`, {
params: parameters,
});
return okMsg;
} catch (error) {
let msg = (error.response.data) ? error.response.data : "Error without response";
throw new Error(msg);
}
}
}
module.exports = GoAlert;

View file

@ -38,6 +38,7 @@ const TechulusPush = require("./notification-providers/techulus-push");
const Telegram = require("./notification-providers/telegram");
const Webhook = require("./notification-providers/webhook");
const WeCom = require("./notification-providers/wecom");
const GoAlert = require("./notification-providers/goalert")
class Notification {
@ -88,6 +89,7 @@ class Notification {
new Telegram(),
new Webhook(),
new WeCom(),
new GoAlert(),
];
for (let item of list) {