How to auto-populate a Technical Service from a related Dynamic CI Group

Bob Mullineaux
Tera Contributor

I want to auto-populate a Technical Service or Technical Service Offering on the Impacted Services tab on the Incident record based upon a CI that is a member of a Dynamic CI Group.  I have a Contains Relationship from the Service Offering to the Dynamic CI Group.  The Parent of the Technical Service Offering is a Technical Service.

 

The Dynamic Group is a list of IP Routers named "Wide Area Network Devices".   In the screen shot, I have a Technical Service Offering "Wide Area Network - Service Offering", with the Parent Technical Service "Wide Area Network Service Availability".   My need is to have the Technical Service auto-populate in the Impacted Services Tab when the Refresh Impacted Services UI Action is executed.   However, what is happening is the Dynamic Group gets populated as shown in the Incident form vs the Technical Service aka Impacted Service.

 

Is there a way (without custom coding) to get the Technical Service to populate based upon a CI that is a member of the Dynamic CI Group.

5 REPLIES 5

Jim Zeigler1
Tera Expert

Hi Bob,

The SPM Technical Services and Technical Service Offerings Services describe offerings in your service catalog.

 

From your description, it sounds like you are trying to use SPM Technical Services and Service Offerings as operational CIs.  That role is provided by Application Services(see attached) . All impacted ITOM Services(which includes Dynamic CI groups) will be added when you use the "refresh impacted Services" UI action. You can create relationships from SPM services to discovered operational CIs but the platform is not designed to use them. SPM services are environment agnostic(they don't "run" in any of the defined environments) so they don't have a role in managing the operational state of the enterprise. 

 

The CIs in your Application Service Hierarchy reflect the current status of enterprise wide monitoring and are visible to your operations teams. In addition, the Application Service Hierarchy is used to analyze the impact of proposed changes to any of the CIs in the hierarchy as part of Change Management.

Hi Jim, Thanks for the comments.   The way I am reading CSDM 4.0 for the Managed Technical Services Domain, Technical Services as well as Application Services are operational (see attached).

 

In my Incident screen shot, OoB, both the "Service" and the "Service Offering" appear on the Incident form, so I believe (perhaps incorrectly), that those fields as well as the impacted Services tab, should include both Application and Technical Services.   On the Incident Form OoB, I am able to select my Wide Area Network Availability Technical Service which then allows me to select my "Wide Area Network - Service Offering".  

 

Note in the attached screen shot, by default the "Wide Area Network Service Availability" Technical Service is in the Impacted Services which is effectively what is needed.  However, I just want that populated automatically via the Refresh Impacted Services script (fyi the reason that is important is auto Incident creation via our monitoring tools only provides the Router CI and not the Service, thus want the system to do that automatically by determining the device relation to the Technical Services).

EricDohr
ServiceNow Employee
ServiceNow Employee

Hi Bob,

High-level, if your property "Populate Impacted Services based on Affected CIs" is set to True, the Impacted Services related list would not show Offerings, Technical Services, or Business Services.  An exception to showing a Technical Service or Business Service on this list is if you were to have a CI listed in the Service field.  Without knowing what you are trying to achieve with the Technical Service or Service Offering, I wanted to share some notes and logic that help understand what is occurring during that UI Action of Refresh Impacted Services may give some potential opportunities for your team to consider as inputs into options.

 

System Properties

Change and Incident have separate properties that need to be reviewed for "Populate Impacted Services based on Affected CIs."  One process could be set to True and the other False, resulting in different experiences when the UI action Refresh Impacted Services is utilized.

 

What is used to populate Impacted Services/CIs?

Because the property is True, the Impacted Services UI Action will populate the related list "Impacted Services/CIs" based on records on the Service Configuration Item Association [svc_ci_assoc] table.  The benefit of this approach is that you can utilize the Affected CIs-related list (which would include all content of a Dynamic CI Group or multiple CIs manually loaded).  

 

If the property mentioned was false, only the record in the Configuration Item field would be used and it cross references the CI Relationship [cmdb_rel_ci] table via a Script Include. 

 

What is on the Service Configuration Item Association [svc_ci_assoc] table?

The Service Configuration Item Association [svc_ci_assoc] table will only include Service IDs considered Application Service records of various population methods.  Because Dynamic CI Groups are considered a population method, we will see those records (even if they are more related to other infrastructure concepts like network management).

 

Because of this approach, we would not expect to see Service Offerings, Technical Services, or Business Services automatically populated on this related list.  One other thing to note, out of the box, if you had a Dynamic CI group of Application Service records, these would not show as CIs to another Dynamic CI Group (which is a type of Application Service).  This will not occur with your focus on Routers, but sharing in case, you have that scenario in parallel.

 

Other Related List – Impacted Business Applications

In your specific scenario, you are most likely not interested in Business Applications…but some logic here may interest you, and you could apply in other areas.

 

When you do the Refresh Impacted Services UI Action, it is going to kick off a Script Include that not only updates the Impacted Services related list but this Business Application List (if that property is set to true).  High-Level, it will look at the new information in the Impacted Services related list and now check the CI Relationship [cmdb_rel_ci] table to see if any Business Applications have a CI relationship with those Application Services.  For example, I have an underlying windows server used by two Production Application Services, each showing a relationship to an individual Business Application record.  This will then result in both Business Applications shown on the related list.   I know this has nothing to do with your scenario of a Router, but I bring this up to check out the script called "TaskBusinessAppSNC."

 

Other Related List – Impacted Service Offering

In addition to the Impacted Services/CIs related list, there is another property for Service Offerings and a related list for Service Offerings (similar there is an Impacted Business Application property and related list).  I believe there is a setting on the related list to omit if empty, thus why it may not be showing on your screenshots.

 

I bring this up because, out of the box, the Impacted Service Offerings follow different logic….It only populates based on the field(s) Service and/or Service Offering.  This is completed via the Script Include TaskOffering, which calls TaskOfferingSNC.  This Script Include uses different logic than the previous Script Include as there is no lookup of the CI Relationship table like the Impacted Business Application table. 

 

Is there a related list for Impacted Technical Services or Impacted Business Services

There is no related list of Impacted Technical Services or Impacted Business Services out of the box. 

 

Other -  Why do I not see all my Application Services as Service Ids on the Service Configuration Item Association [svc_ci_assoc] table?

Certain types of Application Services will populate records on this table based on the population method.  Dynamic CI Group, Service Mapping, Tag-Based, and Dynamic will have logic to populate this table based on levels of CI relationships.  If you have a Manually populated Application service, those records would not be on this list unless you use a Related Link to update based on the CI (manual entry points are created).

 

Hoping this helps give background on how the UI Action works based on the property initially mentioned being set to true.

Thanks Eric it is helpful to understand the underlying calculations.  

 

To add further context around this, we are a "service provider organization" that is providing support of both Business Applications (used by the client to run their business) and Technical Services such as Network and Server support.   There are specific SLAs in place that are directly associated with the Availability of the "services" both application and technical, and in order to measure and report we are attempting to auto-populate both the Impacted Services and the Outage Tab on the Incident Related Lists with those "Application and Technical Services" which allows the duration of the outage to be recorded and again the basis of SLA reporting.   Our CMDB makes use of Consumes relations from the Business Application to the Application Service and Depends On from the Application Service to underlying Infrastructure, so that e.g. if a Server goes down, the Application Service that is impacted populated on the Incident.   The philosophy here is: a) what can fail aka the CI?  b) what Service is impacted (i.e. Application or Technical) and c) who is impacted?  ( the latter, we store a custom related list of Business Units on the Business Application to determine the Business Units impacted based upon the Application involved.  

 

For a Technical Service such as "Wide Area Network Service Availability" the concept is the same i.e. populate the Technical Service in the Impacted Services and Outage tab.   I have a few Technical Services where I have created Provided by relations directly between the Technical Service and the CIs running the service.   However, there are 1,500+ Routers for the Wide Area Network Technical Services so it made more sense to create a Dynamic Group so Routers can be dynamically included/excluded in the Group i.e. where the Class is "IP Router" and Status is "Installed".   I have tried to create relations directly between the IP Router Dynamic Group and the Wide Area Technical Service but was following guidance on the Docs Site to have a Service Offering between the Technical Service and the CIs which is where I am at with this at the moment.

 

One thing for certain, OoB it does not seem to make sense for the Refresh Impacted Services script to populate the Dynamic Group CI into the Impacted Services tab when there is a single affected router involved since the implication of doing that is every router in the Group is impacted.  Rather if script simply hopped over the Dynamic Group and looked at the Technical Service Offering to the Technical Service, it would accomplish what we are needing for the SLAs.

 

Currently, the SLAs are aligned with the Business Application (for Application Services) and Technical Service for the Technical Services, but I am thinking the SLAs should be aligned to the Offerings.