improved zoho-cliq message format:

- show PORT (cloned switchcase from discord,squadcast,servenio)
- show monitorName in the first row to get on point also from messagge preview notification
- avoid duplication of monitorName and monitorName in the message content
This commit is contained in:
Francesco M 2024-06-12 08:46:48 +02:00 committed by GitHub
parent bc25b719db
commit 82fb7b2816
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -13,9 +13,9 @@ class ZohoCliq extends NotificationProvider {
*/ */
_statusMessageFactory = (status, monitorName) => { _statusMessageFactory = (status, monitorName) => {
if (status === DOWN) { if (status === DOWN) {
return `🔴 Application [${monitorName}] went down\n`; return `🔴 [${monitorName}] went down\n`;
} else if (status === UP) { } else if (status === UP) {
return ` Application [${monitorName}] is back online\n`; return ` [${monitorName}] is back online\n`;
} }
return "Notification\n"; return "Notification\n";
}; };
@ -46,16 +46,11 @@ class ZohoCliq extends NotificationProvider {
monitorUrl, monitorUrl,
}) => { }) => {
const payload = []; const payload = [];
payload.push("### Uptime Kuma\n");
payload.push(this._statusMessageFactory(status, monitorName)); payload.push(this._statusMessageFactory(status, monitorName));
payload.push(`*Description:* ${monitorMessage}`); payload.push(`*Description:* ${monitorMessage}`);
if (monitorName) {
payload.push(`*Monitor:* ${monitorName}`);
}
if (monitorUrl && monitorUrl !== "https://") { if (monitorUrl && monitorUrl !== "https://") {
payload.push(`*URL:* [${monitorUrl}](${monitorUrl})`); payload.push(`*URL:* ${monitorUrl}`);
} }
return payload; return payload;
@ -87,24 +82,30 @@ class ZohoCliq extends NotificationProvider {
return okMsg; return okMsg;
} }
let url; let address;
switch (monitorJSON["type"]) { switch (monitorJSON["type"]) {
case "http": case "ping":
case "keywork": address = monitorJSON["hostname"];
url = monitorJSON["url"];
break; break;
case "docker": case "port":
url = monitorJSON["docker_host"]; case "dns":
case "gamedig":
case "steam":
address = monitorJSON["hostname"];
if (monitorJSON["port"]) {
address += ":" + monitorJSON["port"];
}
break; break;
default: default:
url = monitorJSON["hostname"]; address = monitorJSON["url"];
break; break;
} }
const payload = this._notificationPayloadFactory({ const payload = this._notificationPayloadFactory({
monitorMessage: heartbeatJSON.msg, monitorMessage: heartbeatJSON.msg,
monitorName: monitorJSON.name, monitorName: monitorJSON.name,
monitorUrl: url, monitorUrl: address,
status: heartbeatJSON.status status: heartbeatJSON.status
}); });