Custom created CMDB relationships <!-- .SOKMKBArticle div.margin { padding: 10px 40px 40px 30px; color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; } .SOKMKBArticle div.fed{ background-color: #f5f8fa; border: 1px solid; border-color: #bfbfbf; padding: 10px; } .SOKMKBArticle .FedRestricted{ background-color: #c00000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .CustRestricted{ background-color: #ff0000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .SNRestricted{ background-color: #ea700d; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .SNConfidential{ background-color: #ffc000; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle .Public{ background-color: #00b050; color: #ffffff; padding: 10px; margin-top: 10px; text-align: center; font-size: 14pt; font-weight: bold; } .SOKMKBArticle table.tocTable { border: 1px solid; border-color: #f2f2f2; background-color: #f2f2f2; padding-top: .6em; padding-bottom: .6em; padding-left: .9em; padding-right: .6em; } .SOKMKBArticle table.noteTable { align: left; border: none; border-color: #81b5a1; background-color: #f2f2f2; width: 100%; border-spacing: 2; font-size: 11px; } .SOKMKBArticle table.internalTable { border-top: 1px solid; border-left: 1px solid; border-color: #81b5a1; width: 100%; border-spacing: 1px; } .SOKMKBArticle .sp td { border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .SOKMKBArticle .sphr td { border-right: 1px solid; border-bottom: 1px solid; border-color: #81b5a1; background-color: rgb(245, 245, 245); padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; height: 20px; } .SOKMKBArticle .sh td { border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #81b5a1; color: #ffffff; height: 20px; padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; } .SOKMKBArticle th { padding-top: .5em; padding-bottom: .5em; padding-left: .5em; padding-right: .5em; border-bottom: 1px solid; border-right: 1px solid; border-color: #81b5a1; background-color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: #ffffff; height: 20px; } .SOKMKBArticle td { border-color: #81b5a1; margin: 5px 5px 5px 5px; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; color: #283d40; } .SOKMKBArticle p { color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; } .SOKMKBArticle li { color: #283d40; font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; font-size: 10pt; line-height: 1.5; } .SOKMKBArticle pre { font-family: Courier New; } .SOKMKBArticle div { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; } .SOKMKBArticle hr { border-top-width: 1px; border-top-style: solid; border-top-color: #81b5a1; } .SOKMKBArticle a { color: #81b5a1; } .SOKMKBArticle a.two:link { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle a.two:visited { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle a.two:hover { color: #ffffff; background-color: #259b8a; } .SOKMKBArticle .button { padding: 15px 45px 15px 45px; margin-top: 20px; color: #ffffff; text-align: center; background-color: #1F8476; border: 1px solid; border-color: #1F8476; } .SOKMKBArticle .title { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #81b5a1; font-size: 30pt; } .SOKMKBArticle .hd1 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-size: 20pt; border-bottom: 1px solid; border-bottom-color: #81b5a1; text-decoration: none; } .SOKMKBArticle h1 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-size: 20pt; font-weight: normal; border-bottom: 1px solid; border-bottom-color: #81b5a1; text-decoration: none; } .SOKMKBArticle .hd2 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #68a1af; font-weight: bold; font-size: 16pt; text-decoration: none; } .SOKMKBArticle h2 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #68a1af; font-weight: bold; font-size: 16pt; font-weight: normal; text-decoration: none; } .SOKMKBArticle .hd3 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 14pt; text-decoration: none; } .SOKMKBArticle h3 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 14pt; text-decoration: none; } .SOKMKBArticle .hd4 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 12pt; text-decoration: none; } .SOKMKBArticle h4 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 12pt; text-decoration: none; } .SOKMKBArticle .hd5 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: bold; font-size: 10pt; text-decoration: bold; } .SOKMKBArticle h5 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: bold; font-size: 10pt; text-decoration: bold; } .SOKMKBArticle .hd6 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 10pt; text-decoration: underline; } .SOKMKBArticle h6 { font-family: Century Gothic, Verdana, Helvetica, Arial, sans-serif; color: #283d40; font-weight: normal; font-size: 10pt; text-decoration: underline; } .SOKMKBArticle details { font-size: 10pt; } .SOKMKBArticle details[open] summary ~ * { animation: sweep .5s; margin-top: 0; padding-top: 10px; } @keyframes sweep { 0% {opacity: 0; margin-top: -10px} 100% {opacity: 1; margin-top: 0px} } .SOKMKBArticle summary { cursor: pointer; outline: none; margin-bottom: 3px; } .SOKMKBArticle .summary { background-color: #81b5a1; font-size: 10px; color: white; cursor: pointer; padding: 5px; width: 100%; border: none; text-align: left; outline: none; vertical-align: top; } table, th, tr, td { border: 1pt solid #646464; } --> Get Well Playbook Manage Custom Created CI Relationship Types A step-by-step guide to manage custom CI Relationship Types Table of Contents Summary. 3. 3 Audience. 3 Problem Overview.. 3 Executive Summary. 3 How this playbook can help you achieve your business goals 3 How this playbook is structured. 3 Problem Analysis 4 Upstream Causes 4 Downstream Consequences 4 Impact on Your Business 4 Engagement Questions 4 Remediation Plays 5 Summary. 5 Analysis Play. 5 Fix Play. 6 Data Governance Play. 7 Summary Goal for the Playbook The goal of this playbook is to help you identify and manage your custom CI relationship types. Author Emir EminovicDate 05/26/2020Addresses HSD # HSD0003743, HSD0007464Applicable ServiceNow Releases All ReleasesTime required Approximately 1 to 4 hours Audience Configuration Managers or Configuration Management teamServiceNow Administrators Problem Overview Note the following issues related to using custom CI relationship types: Not all ServiceNow products can use the customized CI relationship type.Custom CI relationship types may not work as expected, and could have unintended results.Custom CI relationship types may conflict with those in the base system. This is especially true if the name of the custom CI relationship type and the one in the base system are the same. Executive Summary How this playbook can help you achieve your business goals This playbook can improve the integrity of your CI relationship types, which reduces the number of incidents and improves process automation. How this playbook is structured This playbook guides you through three plays. The first play (an analysis play) lets you see how many custom CI relationship types you have in the CMDB. The second play (a fix play) describes what to do next. You can either delete the CI relationship types, or manage the ones you want to use.The third play (a governance play) explains a way to keep others from creating a CI relationship type without the approval of the CMDB owner. Problem Analysis Upstream Causes Customized CMDB relationships might be created for the following reasons: You may want the CMDB to use the shared two-way CI relationship in the inverse direction. CI relationship types in the base system can be confusing.A new CI relationship is needed to address a unique requirement. Downstream Consequences Data Consequence Customized CMDB relationships can cause a mixture of parent and child records in different directions Operation Consequence Custom reports are required to understand the services Application Consequence Some components require that the custom CI relationship types be exact Impact on Your Business Resolving custom Relationship Types can have an positive impact on the following areas: Incident Reduction Integrity of Relationships Process Automation Integrity of Relationships Engagement Questions Consider the answers to these questions: Have you created any custom CI relationship types?How do you decide when to create a custom CI relationship type? Remediation Plays Summary The table below lists and summarizes each of the remediation plays in the playbook. Details are included later. Play Analysis What this play is about Lets you see if you have any custom CI relationship types. Required tasks If you have custom CI relationship types, run the Analysis Play script to see details. Fix What this play is about Describes what is included in the Analysis Play script. You use the script results to decide the next steps. Required tasks Delete the custom CI relationship types you no longer need, or decide how to manage the ones you want to keep. Data Governance What this play is about Describes methods used to keep custom CI relationship types from being created without approval. Required tasks Choose and complete one or more of the described methods. Analysis Play What this play is about This play helps you find any custom CI relationship types you have in the CMDB. This play includes a script you can use to find these custom CI relationship types. Required tasks Option 1: Install CMDB and CSDM Data Foundations Dashboard from the ServiceNow App StoreNavigate to the CMDB Data Foundations Dashboard module in the left navigation menuSelect the Customizations tabSelect the Base CMDB Relationship Types Deleted and Recreated report to view a list of base relationship types deleted and recreated. If you see a count of zero then this playbook is not applicable to you Option 2: Run the Analysis Play script to check for any custom CI relationship types. (Run the script as a background task.)Review the results of the script. If you don't have any custom CI relationship types, you don't need to do anything else. You've completed the Analysis Play.If you do have custom CI relationship types, you need to decide how to manage them. Complete the tasks in the Fix Play. Leave the results of the Analysis Play script open. (You will need to review the results in the Fix Play.)If you have custom CI relationship types, information similar to the following appears. Fix Play What this play is about This play tells you how to delete your custom CI relationship types you no longer need, or manage the ones you do want to keep. Review the results of the Analysis Play script. The results include the following information from the cmdb_rel_type table: The sys_id of the CI relationship type recordThe type or name of the CI relationshipThe number of records in cmdb_rel_ci table that use this relationship The script includes inverse relationships in the count (as shown below). Carefully review each line of the Analysis Play script results. See how many records, if any, are sharing a custom CI relationship type. Do one of the following. If you don't see any records sharing a custom CI relationship type, mark the relationship type for deletion and delete it later. Skip step 4 and go to step 5. For more information about modifying relationship types, see Create or edit a CI relationship. If you do see records sharing a custom CI relationship type, decide how you want to manage the shared custom CI relationship types. Continue with step 4. (Optional) To manage the shared custom CMDB relationships, do one or more of the following: See if there's a CI relationship record included in the base system that you can use instead of the custom version.Create a report (using the contents in the cmdb_rel_ci table) that shows all the records using this shared custom CI relationship.Use the CI Class Manager to see the relationships for each of your classes. Run the script again to make sure that you have deleted or managed the custom CI relationship types, as applicable. Data Governance Play What this play is about The CMDB owner should approve any CI relationship types that need to be created. This play tells you how to set up a process that keeps others from creating a CI relationship type without that approval. Required tasks Create an internal policy that prevents the creation of CMDB relationships types without the approval of the CMDB owner.Create a report that shows any CI relationship types that were created after the last data cleanup was performed. This report identifies any CI relationship types created without prior approval. Congratulations You have completed this Get Well Playbook.