mirror of
https://github.com/plankanban/planka.git
synced 2025-12-21 17:25:39 +03:00
fix: Log errors when sending notifications via Apprise
This commit is contained in:
@@ -25,11 +25,15 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async fn(inputs) {
|
async fn(inputs) {
|
||||||
return promisifyExecFile(`${sails.config.appPath}/.venv/bin/python3`, [
|
try {
|
||||||
`${sails.config.appPath}/utils/send_notifications.py`,
|
await promisifyExecFile(`${sails.config.appPath}/.venv/bin/python3`, [
|
||||||
JSON.stringify(inputs.services),
|
`${sails.config.appPath}/utils/send_notifications.py`,
|
||||||
inputs.title,
|
JSON.stringify(inputs.services),
|
||||||
JSON.stringify(inputs.bodyByFormat),
|
inputs.title,
|
||||||
]);
|
JSON.stringify(inputs.bodyByFormat),
|
||||||
|
]);
|
||||||
|
} catch (error) {
|
||||||
|
sails.log.error(`Error sending notifications: ${error.stderr || error.message}`);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +1,3 @@
|
|||||||
/*!
|
|
||||||
* Copyright (c) 2024 PLANKA Software GmbH
|
|
||||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
|
||||||
*/
|
|
||||||
|
|
||||||
const version = require('../version');
|
const version = require('../version');
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|||||||
@@ -1,15 +1,29 @@
|
|||||||
# Copyright (c) 2024 PLANKA Software GmbH
|
|
||||||
# Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import logging
|
||||||
import apprise
|
import apprise
|
||||||
|
|
||||||
|
|
||||||
|
last_apprise_message = None
|
||||||
|
class CaptureWarningHandler(logging.Handler):
|
||||||
|
def emit(self, record):
|
||||||
|
global last_apprise_message
|
||||||
|
last_apprise_message = record.getMessage()
|
||||||
|
|
||||||
|
|
||||||
|
capture_warning_handler = CaptureWarningHandler()
|
||||||
|
capture_warning_handler.setLevel(logging.WARNING)
|
||||||
|
|
||||||
|
apprise_logger = logging.getLogger('apprise')
|
||||||
|
apprise_logger.setLevel(logging.WARNING)
|
||||||
|
apprise_logger.propagate = False
|
||||||
|
apprise_logger.addHandler(capture_warning_handler)
|
||||||
|
|
||||||
|
|
||||||
def send_notification(url, title, body, body_format):
|
def send_notification(url, title, body, body_format):
|
||||||
app = apprise.Apprise()
|
app = apprise.Apprise()
|
||||||
app.add(url)
|
app.add(url)
|
||||||
app.notify(title=title, body=body, body_format=body_format)
|
return app.notify(title=title, body=body, body_format=body_format)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
@@ -22,4 +36,14 @@ if __name__ == '__main__':
|
|||||||
body_format = service['format']
|
body_format = service['format']
|
||||||
body = body_by_format[body_format]
|
body = body_by_format[body_format]
|
||||||
|
|
||||||
send_notification(url, title, body, body_format)
|
last_apprise_message = None
|
||||||
|
if not send_notification(url, title, body, body_format):
|
||||||
|
if last_apprise_message:
|
||||||
|
if last_apprise_message == 'There are no service(s) to notify':
|
||||||
|
sys.stderr.write('Unknown service URL')
|
||||||
|
else:
|
||||||
|
sys.stderr.write(last_apprise_message)
|
||||||
|
else:
|
||||||
|
sys.stderr.write('Unknown error')
|
||||||
|
|
||||||
|
sys.exit(1)
|
||||||
|
|||||||
Reference in New Issue
Block a user