Choosing an Existing CI Class Before Creating One
On this page
In this lesson, you will learn:
- Why reuse existing classes first
- When a new class is justified
- SNWR’s SNWR Mail Archiver class
π Quick look back: Last time: Checking Current ServiceNow Pattern Content First. You learned how to search current content before building.
1 The Problem: New Classes Add Work Forever
A new CI class is easy to create. But each one needs:
- Identification rules.
- Health rules and reports.
- Someone to maintain it.
π The fix: Use an existing class if one fits. Create a new one only when you must.

2 Reuse first
- Look for a class for the same kind of software.
- A generic Application class may be enough.
- Add fields to a new class only when they’re needed.
3 Creating a class
Create it in CI Class Manager, under the right parent, such as Application. Add only the fields you need, and an identification rule.
π‘ Good to know: Need a refresher? See Fundamentals βΊ CMDB Essentials βΊ CI Classes & Relationships for class basics.
4 Project Clear View: How We Implemented It
π Situation: The archiver needed a home in the CMDB.
π§ Decision: Check existing classes, then create one only if needed.
π οΈ Steps we took:
- Looked for an existing class. Only generic Application fit.
- Hana needed port and archive path fields.
- Created SNWR Mail Archiver under Application in CI Class Manager on snwrdev.
- Added three fields: version, port, archive path.
β What we verified:
- The class exists with three fields.
- It’s recorded in DD-D06.
π Evidence: The class definition, listed in the migration matrix.
5 Quick recap
- New classes add work forever.
- Use an existing class if it fits.
- Create a new class under the right parent.
- Add only the fields you need.
6 Check yourself
Think of your answer first. Then tap to check.
1 Why not create classes freely? Show answer
Each needs rules, health settings and maintenance.
2 Which parent did the archiver class use? Show answer
Application.
3 Which three fields were added? Show answer
Version, port and archive path.
Nice work! The archiver has a class. π
Next up: Deciding Between an Extension and a Custom Pattern
Was this lesson helpful?
Please log in to share lesson feedback.
Have a question or doubt?
Ask here and get help from instructors and fellow learners.
Only logged-in learners can post.




