From e9d40d27ff5029c58ba134f6721eaa6e9c150387 Mon Sep 17 00:00:00 2001 From: arigalamani Date: Sun, 26 Oct 2025 16:22:35 +0530 Subject: [PATCH 1/4] Create Readme.md After business rule for creating task based on field --- .../Business Rules/Create a task based on field/Readme.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 Server-Side Components/Business Rules/Create a task based on field/Readme.md diff --git a/Server-Side Components/Business Rules/Create a task based on field/Readme.md b/Server-Side Components/Business Rules/Create a task based on field/Readme.md new file mode 100644 index 0000000000..4b220a80b5 --- /dev/null +++ b/Server-Side Components/Business Rules/Create a task based on field/Readme.md @@ -0,0 +1,3 @@ +Creating a Task Based on a Field Value: + +This Business Rule runs "after" an insert or update to an Incident to automatically create a new "Follow-up Task" if the "Priority" is set to "Critical." From 15b6c2e03fc317c6f54c831f53e0332b19c518ec Mon Sep 17 00:00:00 2001 From: arigalamani Date: Sun, 26 Oct 2025 16:25:31 +0530 Subject: [PATCH 2/4] Business rule for creating task based on field --- .../Creating_Task_Based_on_Field_Value.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 Server-Side Components/Business Rules/Create a task based on field/Creating_Task_Based_on_Field_Value.js diff --git a/Server-Side Components/Business Rules/Create a task based on field/Creating_Task_Based_on_Field_Value.js b/Server-Side Components/Business Rules/Create a task based on field/Creating_Task_Based_on_Field_Value.js new file mode 100644 index 0000000000..877424af88 --- /dev/null +++ b/Server-Side Components/Business Rules/Create a task based on field/Creating_Task_Based_on_Field_Value.js @@ -0,0 +1,12 @@ +(function executeRule(current, previous) { + // Check if the priority is critical and a follow-up task doesn't already exist + if (current.priority == 1 && !current.u_follow_up_task_created) { // Assuming 1 is critical priority, and u_follow_up_task_created is a custom boolean field + var grTask = new GlideRecord('sc_task'); + grTask.initialize(); + grTask.short_description = "Follow-up for Critical Incident: " + current.number; + grTask.parent = current.sys_id; + grTask.insert(); + current.u_follow_up_task_created = true; // Mark that a task has been created + current.update(); // Update the incident to reflect the task creation + } +})(current, previous); \ No newline at end of file From 92c898d1d8ce7e1a9ae97a3e19635cf6e78555b0 Mon Sep 17 00:00:00 2001 From: arigalamani Date: Sun, 26 Oct 2025 16:45:40 +0530 Subject: [PATCH 3/4] Create Readme.md Description for updating the related problem state when incident state changes --- .../Business Rules/updating problem records/Readme.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 Server-Side Components/Business Rules/updating problem records/Readme.md diff --git a/Server-Side Components/Business Rules/updating problem records/Readme.md b/Server-Side Components/Business Rules/updating problem records/Readme.md new file mode 100644 index 0000000000..30900af0a3 --- /dev/null +++ b/Server-Side Components/Business Rules/updating problem records/Readme.md @@ -0,0 +1 @@ +If the incident status is chnaged to inprogress corresponding problem state is chnaged to in progresss. From 8d866bd3f65a0c948048e22bab083fec0ed7d8d7 Mon Sep 17 00:00:00 2001 From: arigalamani Date: Sun, 26 Oct 2025 16:46:38 +0530 Subject: [PATCH 4/4] Service now code snippet --- .../updating_problem_record.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 Server-Side Components/Business Rules/updating problem records/updating_problem_record.js diff --git a/Server-Side Components/Business Rules/updating problem records/updating_problem_record.js b/Server-Side Components/Business Rules/updating problem records/updating_problem_record.js new file mode 100644 index 0000000000..a62fc329dc --- /dev/null +++ b/Server-Side Components/Business Rules/updating problem records/updating_problem_record.js @@ -0,0 +1,12 @@ +(function executeRule(current, previous) { + // Check if the state changed to "In Progress" + if (current.state.changesTo(2)) { // Assuming 2 is the value for "In Progress" + var grProblem = new GlideRecord('problem'); + grProblem.addQuery('incident', current.sys_id); + grProblem.query(); + while (grProblem.next()) { + grProblem.state = 2; // Assuming 2 is the value for "Work in Progress" + grProblem.update(); + } + } +})(current, previous); \ No newline at end of file