How to create a scripted indicator?

As part of the GRC implementation, organization ABC implements a bunch of control. All of them obviously need to be continuously monitored. The team uses indicators to constantly monitor all of the ABC controls.

During implementation, the GRC team noticed that it is challenging to use the basic indicator type to monitor all control, especially control 123.

So what is the deal with control 123?

Continue reading →

Clean Implementation

We can learn so many things from software development and architecture principles. In software development, writing clean code is crucial; if you are a software developer, you would 100% appreciate the importance of clean code.

You might argue that the word ‘clean’ is a bit arbitrary here and what makes a code clean? Another thing you might say is that ServiceNow is a kind of low-code or no-code platform, so how is this applicable?
Let us look at the tenets of clean code and see how we can apply this to our ServiceNow implementation.

Tenets of Clean Implementation
Continue reading →

Understanding and using inheritance in Script include

A few days ago I saw a question on the ServiceNow community about how inheritance works in a script include so I thought to write a short article about that.

In Script include we can write a function or we can create a class. In JavaScript, class is an object, an object can access properties and functions from another object, this we call Inheritance

Inheritance is a great way to create a parent/child hierarchy of classes. A good use case for inheritance is when you wish to indicate that one object is mostly similar to another, but with some variations.

Continue reading →

How to generate Assessment using AssessmentCreation API?

In some scenarios, we want to be able to generate on-demand assessments, that can be Service Portal or UI Action or Business rule

ServiceNow AssessmentCreation API provides a way to generate assessments via script. In the article, I am using createAssessments method to generate assessments via Service Portal Widget

first here is a quick explanation of the method parameter

AssessmentCreation.createAssessments (String typeID, // Assessment Metric Type Sys ID
 String sourceRecordID, // Assessable Record which will be the source of assessment
String userID // users ID to which to send assessment instances to
Continue reading →

Two HRSD Features that I am happy to see them go in Rome

Bulk Case creation scheduled job was completely disabled in Rome and has been replaced by Create bulk HR cases script action which is triggered by sn_hr_core.process_bulk_case_request event. The script runs asynchronously and you don’t have to worry about setting up the right time for the job

Employee Relation COE (sn_hr_core_case_relations) is no longer available, instead new customers are going to use sn_hr_er_case table which is sets in Human Resources Scoped App: Employee Relations [com.sn_hr_employee_relations] not in Human Resources: Core App. New Employee Relation provides a data model that supports tighter security and saves tons of work that usually spends on customization ACL or data segregations

Understanding Semaphore

like many ServiceNow pros, Semaphore comes to mind when there is a performance issue, however, Semaphore is much bigger than that. here I am trying to learn more about Semaphore.

What is Semaphore?
according to ServiceNow docs and JVM docs, Semaphore manages and protects ServiceNow resources and limits the number of activities for a specific resource. Semaphore does that by controlling transaction queues in a first-in-first-out fashion(FIFO).

Continue reading →