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