Extend the Predefined ServiceNow CI modules: Part 1 - Infopulse
image of banner
Back

Extending Predefined ServiceNow CI modules ā€“ Part 1

ServiceNow, a cloud computing platform, offers everything-as-a-service and specializes in providing Platform-as-a-service IT service management (ITSM). However, the default list of modules doesnā€™t include all possible options and can be extended. In the following blog article, we will explore some ways to extend the ServiceNow CI modules.

Getting to Know ServiceNow Database Servers Menu

ServiceNow offers a number of Configuration Item (CI) modules out-of-the-box. These modules are used for grouping CIs of the same nature. By default, Database Servers module contains a set of 6 items ā€“ DB2, MSSQL, MySQL, Oracle, Sybase and All (to list everything on one page).

Extending Predefined ServiceNow CI modules ā€“ Part I - Infopulse - 247360

Fig. 1. Database Servers menu items

There are multiple ways to implement data retrieval from CMDB and represent it in the modules list.
In this particular case, all data regarding Database Servers is kept in a single table ā€“ cmdb_ci_database. Other five submodules merely represent a conditional selection of a type of the database server from the cmdb_ci_database table (fig. 2 shows Oracle server being selected).

Extending Predefined ServiceNow CI modules ā€“ Part I - Infopulse - 507992

Fig. 2. Example of CI sub-module filter

Thus, this approach is implemented in a way of keeping all data related to Database Servers in one table and provides a user with useful and convenient filters to select and display different types of Databases. To check how each particular module is implemented, right click on a module and select Edit Module item from the context menu.
As the above-mentioned actions are rather straightforward, letā€™s move on to a bit more complicated task.

Extending the List of Available Database Types

Our next step is to learn how to extend the list of available database types and how to make a new database module appear in the CI menu. Some changes and tweaks must be made to the different parts of the ServiceNow system in order to properly add a new database type.

Work Breakdown Structure may look rather simple at the first sight, but only if you know exactly what should be done. To get things done right, the next 4 steps should be done:

  • Add support for a new type to the Database Server table;
  • Create a new module in the CI menu;
  • Configure the new moduleā€™s filter to select entries of a particular type among all database servers;
  • Populate the new module with data and validate the results.

Letā€™s give these steps a closer look.

(1) Add support for a new type to the Database Server table.

Go to System Definition -> Tables & Columns -> Database (found in the Table Names list) -> Edit Table -> Descendants tab -> Type (a Display Name of the Dictionary Entry Class)
When in the Global Scope, select Choices tab and click New button.

Extending Predefined ServiceNow CI modules ā€“ Part I - Infopulse - 688154

Fig. 3. List of Database Server types

Fill the mandatory fields with the relevant values and submit the result.

In this case, weā€™ve entered Informix to both mandatory fields.

Extending Predefined ServiceNow CI modules ā€“ Part I - Infopulse - 018286

Fig. 4. New Database Servers type creation

(2) Create a new module in CI menu

Go to System Definition -> Modules -> create New one.
Enter Title field value that will be shown as the CI module name.
Configuration value is entered in the Application Menu as a part of a menu where the new module will be shown.
Order value defines the place in the Application Menu hierarchy, where the module will be shown.

(3) Configure the new moduleā€™s filter to select entries of a particular type among all database servers.

List of Records Link type means the nature of data to be shown.
Here filter can be defined as well. In this case, the module should establish a filter to select data from the cmdb_ci_database table with the recently created Informix type.

Extending Predefined ServiceNow CI modules ā€“ Part I - Infopulse - 134947

Fig. 5. New module creation

(4) Populate the new module with data and validate the results.

As a result of our previous actions, the new sub-module is now present in the Database Servers menu.
New data load and transformation map has to be implemented in order to populate the cmdb_ci_database table with the new entries of Informix RDBMS type.

Extending Predefined ServiceNow CI modules ā€“ Part I - Infopulse - 052762

Fig. 6. Informix type is now present as a sub-module in the Database Servers menu

In the second part of our blog, we show a better way to create new ServiceNow CI modules and retrieve data from CMBD.

About the Author

15+ years of experience working in the IT industry. Sergii was responsible for the technical implementation of IT services along with portfolio management, including ServiceNow, Dynamics CRM, BI, and Cloud Infrastructure Management & Operations.
Sergii Kyrylenko, Head of Enterprise Service Management Practice at Infopulse

Sergii Kyrylenko

Head of Enterprise Service Management Practice

Next Article

We have a solution to your needs. Just send us a message, and our experts will follow up with you asap.

Please specify your request

Thank you!

We have received your request and will contact you back soon.