From 33857374c191da34a4a45d731f8b6ead52a8d95c Mon Sep 17 00:00:00 2001 From: DhruvBhatheja <70469942+DhruvBhatheja@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:51:45 +0530 Subject: [PATCH 1/3] script.js --- .../script.js | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/script.js diff --git a/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/script.js b/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/script.js new file mode 100644 index 0000000000..ea06a25ad5 --- /dev/null +++ b/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/script.js @@ -0,0 +1,44 @@ +(function executeRule(current, previous) { + + // Keyword-based assignment + var shortDesc = current.short_description.toLowerCase(); + if (shortDesc.includes("server down")) { + current.assignment_group = 'SERVER_SUPPORT_GROUP_SYS_ID'; + return; + } else if (shortDesc.includes("email issue")) { + current.assignment_group = 'EMAIL_SUPPORT_GROUP_SYS_ID'; + return; + } + + // CI-based assignment + if (current.cmdb_ci) { + var ciGR = new GlideRecord('cmdb_ci'); + if (ciGR.get(current.cmdb_ci)) { + if (ciGR.category == 'Database') { + current.assignment_group = 'DATABASE_SUPPORT_GROUP_SYS_ID'; + return; + } else if (ciGR.category == 'Server') { + current.assignment_group = 'SERVER_SUPPORT_GROUP_SYS_ID'; + return; + } + } + } + + // Department-based assignment + if (current.caller_id) { + var callerGR = new GlideRecord('sys_user'); + if (callerGR.get(current.caller_id)) { + switch (callerGR.department.name) { + case 'IT': + current.assignment_group = 'IT_SUPPORT_GROUP_SYS_ID'; + break; + case 'HR': + current.assignment_group = 'HR_SUPPORT_GROUP_SYS_ID'; + break; + default: + current.assignment_group = 'GENERAL_SUPPORT_GROUP_SYS_ID'; + } + } + } + +})(current, previous); From 454df4efcced5b9c85300341c5456de35259bca8 Mon Sep 17 00:00:00 2001 From: DhruvBhatheja <70469942+DhruvBhatheja@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:54:09 +0530 Subject: [PATCH 2/3] Readme.md --- .../Readme.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/Readme.md diff --git a/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/Readme.md b/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/Readme.md new file mode 100644 index 0000000000..5020cd8d9c --- /dev/null +++ b/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/Readme.md @@ -0,0 +1,11 @@ +Auto-Assign Incident Based on Keywords, CI, and Department using Before Insert Business Rule + +Automatically assigns incidents to the correct assignment group based on: + +1.Keywords in the short description. + +2.Configuration Item (CI) category. + +3.Caller’s department. + +Incidents should be routed automatically without manual intervention. From 31f0afb4b486c55df7dc2a7f82dd9b5cc9d4a944 Mon Sep 17 00:00:00 2001 From: DhruvBhatheja <70469942+DhruvBhatheja@users.noreply.github.com> Date: Tue, 7 Oct 2025 22:54:30 +0530 Subject: [PATCH 3/3] Update script.js --- .../script.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/script.js b/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/script.js index ea06a25ad5..339435289b 100644 --- a/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/script.js +++ b/Server-Side Components/Business Rules/Auto-Assign Incident Based on Keywords, CI, and Department/script.js @@ -1,3 +1,5 @@ +//Before Insert Business Rule + (function executeRule(current, previous) { // Keyword-based assignment