Skip to content

Commit eafaa0c

Browse files
committed
Feature: Add new "Custom Error" action trigger and search filter, for job errors that aren't warning, critical or abort (i.e. user-generated errors). Fixes #166.
1 parent 01344c3 commit eafaa0c

4 files changed

Lines changed: 6 additions & 1 deletion

File tree

htdocs/js/pages/Search.class.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ Page.Search = class Search extends Page.PageUtils {
7676
['', 'Any Result'],
7777
{ id: 'success', title: 'Success', icon: 'check-circle-outline' },
7878
{ id: 'error', title: 'Any Error', icon: 'alert-decagram-outline' },
79+
{ id: 'user', title: 'Custom Error', icon: 'account-alert' },
7980
{ id: 'warning', title: 'Warning', icon: 'alert-outline' },
8081
{ id: 'critical', title: 'Critical', icon: 'fire-alert' },
8182
{ id: 'abort', title: 'Abort', icon: 'cancel' },
@@ -398,6 +399,8 @@ Page.Search = class Search extends Page.PageUtils {
398399
case 'success': query += ' tags:_success'; break;
399400
case 'error': query += ' tags:_error'; break;
400401

402+
case 'user': query += ' tags:_error code:-warning -critical -abort'; break;
403+
401404
case 'warning':
402405
case 'critical':
403406
case 'abort':

internal/ui.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1165,6 +1165,7 @@
11651165
{ "id": "continue", "title": "On Continue", "icon": "step-forward-2" },
11661166
{ "id": "success", "title": "On Success", "icon": "check-circle-outline", "group": "On Result:" },
11671167
{ "id": "error", "title": "On Any Error", "icon": "alert-decagram-outline" },
1168+
{ "id": "user", "title": "On Custom Error", "icon": "account-alert" },
11681169
{ "id": "warning", "title": "On Warning", "icon": "alert-outline" },
11691170
{ "id": "critical", "title": "On Critical", "icon": "fire-alert" },
11701171
{ "id": "abort", "title": "On Abort", "icon": "cancel" }

lib/api.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ class API {
398398
if (!Tools.isaHash(action)) return this.doError('api', err_prefix + " (not an object)", callback);
399399
if (!('enabled' in action)) return this.doError('api', err_prefix + ": Missing enabled flag", callback);
400400

401-
if (!action.condition || !action.condition.toString().match(/^(start|complete|success|warning|error|critical|abort|tag:\w+|alert_new|alert_cleared)$/)) {
401+
if (!action.condition || !action.condition.toString().match(/^(start|complete|success|warning|error|user|critical|abort|tag:\w+|alert_new|alert_cleared)$/)) {
402402
return this.doError('api', err_prefix + ": Invalid condition", callback);
403403
}
404404

lib/job.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1193,6 +1193,7 @@ class Jobs {
11931193
if (job.code) {
11941194
conditions.push('error');
11951195
if (job.code.toString().match(/^(warning|critical|abort)$/)) conditions.push(job.code);
1196+
else conditions.push('user');
11961197
}
11971198
else conditions.push('success');
11981199

0 commit comments

Comments
 (0)