diff --git a/Server-Side Components/Business Rules/AutoCloseResolveCases/AutoCloseResolveCases.js b/Server-Side Components/Business Rules/AutoCloseResolveCases/AutoCloseResolveCases.js new file mode 100644 index 0000000000..7604e9111a --- /dev/null +++ b/Server-Side Components/Business Rules/AutoCloseResolveCases/AutoCloseResolveCases.js @@ -0,0 +1,14 @@ +// Auto Close Incidents after 7 days in Resolved state +(function() { + var grInc = new GlideRecord('incident'); + grInc.addQuery('state', '6'); // 6 = Resolved + grInc.addQuery('resolved_at', '<=', gs.daysAgoStart(7)); + grInc.query(); + + while (grInc.next()) { + grInc.state = 7; // 7 = Closed + grInc.close_notes = 'Automatically closed after 7 days of resolution.'; + grInc.update(); + // gs.info('Closed Incident: ' + gr.number); + } +})(); diff --git a/Server-Side Components/Business Rules/AutoCloseResolveCases/README.md b/Server-Side Components/Business Rules/AutoCloseResolveCases/README.md new file mode 100644 index 0000000000..36587a810d --- /dev/null +++ b/Server-Side Components/Business Rules/AutoCloseResolveCases/README.md @@ -0,0 +1,14 @@ +# Auto-Close Resolved Incidents After 7 Days + +Table: Incident +When: Before +Condition: State is Resolved and resolved_at older than 7 days. +This script automatically closes any Incident that has been in a "Resolved" state for 7 days. + +// Use Case : +Keeps your Incident queue clean and ensures SLA metrics stay accurate. + +// How : +Queries incident table. +Finds records with state = Resolved and resolved_at older than 7 days. +Changes state to Closed. diff --git a/Server-Side Components/Business Rules/Restrict System Generated Comments from Updating ITIL Metrics/RestrictSystemCommentsOnTaskMetric.js b/Server-Side Components/Business Rules/Restrict System Generated Comments from Updating ITIL Metrics/RestrictSystemCommentsOnTaskMetric.js new file mode 100644 index 0000000000..db015a7322 --- /dev/null +++ b/Server-Side Components/Business Rules/Restrict System Generated Comments from Updating ITIL Metrics/RestrictSystemCommentsOnTaskMetric.js @@ -0,0 +1,16 @@ +//Table: Task Metric Reporting Table. +//When to run:Before update +//Conditions: Updated by is system + +//Script +(function executeRule(current, previous /null when async/ ) { + + var caseSysid = current.u_task_number.sys_id; + var grCase = new GlideRecord('sn_customerservice_case'); + if (grCase.get(caseSysid)) { + var latestEntry = grCase.comments.getJournalEntry(1).toString(); + var latestWorknote = grCase.work_notes.getJournalEntry(1).toString(); + if (latestEntry.includes('System') || latestWorknote.includes('System')) { + current.setAbortAction(true); + } + }