Skip to main content

ServiceNow CMDB Integration

Last updated on

The ServiceNow CMDB integration syncs records from a ServiceNow CMDB table into the IDP Catalog. It uses configurable field mappings to control which CMDB columns are ingested and where they appear in the catalog entity YAML.


Before you begin

Make sure the following prerequisites are met:

  1. The feature flag IDP_CATALOG_CD_AUTO_DISCOVERY is enabled. Contact Harness Support to enable it.
  2. Harness CD is enabled for your account. This must be the same account you use for Harness IDP.
  3. You have the required RBAC permissions to manage integrations. All operations for CD and Platform integrations require the IDP Integration Edit permission (IDP_INTEGRATION_EDIT) on the IDP Integration resource type (IDP_INTEGRATION).

Enable and Configure the ServiceNow CMDB Integration

  1. In Harness IDP, go to ConfigureIntegrations.

  2. Click on +New integration and choose ServiceNow. This will take you to the Configuration page.

info

If this is your first ServiceNow integration, you will need to install a Kubernetes agent in your environment. This agent will run data synchronization workloads as containerized processes in your Kubernetes environment for security, scalability, and isolation and provide the execution environment needed to safely extract and process ServiceNow data.

You will be prompted to provide some details the first time you create a ServiceNow integration:

  • Write agent name,
  • Select/create a Kubernetes connector to connect with Kubernetes cluster. This Kubernetes connector should point to Kubernetes cluster where integration Kubernetes agent would be installed.
  • Write Kubernetes namespace on which agent will run.
  • Kubernetes manifest file will be downloaded after filling these details which could be used to install agent in customer environment.

Setup and Connectivity

  1. Enter a friendly name for the integration. This will be shown in the Integrations list card.
  2. Select the Harness ServiceNow connector that is configured to access your ServiceNow instance. This connector is used to fetch table data from the CMDB. Please note that we support username/password and OAuth authentication for this connector.

Field Mapping

  1. CMDB Table Name - Specify the name of the ServiceNow CMDB table from which records should be imported (for example, cmdb_ci_service).
  2. Entity Kind and Type - Define the catalog entity kind (for example, Component) and type (for example, Service) that will be assigned to entities created or enriched from this integration.
  3. Field Mapping - Field mapping defines how CMDB columns translate to catalog entity YAML fields. Each mapping entry consists of:
SettingDescription
CMDB Column NameThe column name in the ServiceNow CMDB table.
Catalog YAML Field[optional] The target path in the catalog entity YAML (for example, spec.lifecycle, spec.owner, metadata.name). If not specified, the field will not be stored in the catalog but will be queryable through the API (coming soon).

For example, you might configure:

CMDB ColumnCatalog YAML Field
life_cyclespec.lifecycle
ownerspec.owner
service_namemetadata.name
mttrspec.properties.mttr

Any CMDB field can be mapped to a standard catalog field or to a custom property under spec.properties.

  1. Display Name and Unique Identifier - Configure which CMDB columns serve as the display name and unique identifier for discovered entities. These determine how entities are labeled and deduplicated in the Discovered tab.

  2. Correlation Field - Set a correlation field — the catalog field used to automatically map discovered CMDB records to existing catalog entities. For example, setting the correlation field to name means the integration will look for existing catalog entities with a matching name and pre-select the Merge option for those matches.

Advanced Settings

  1. Sync Schedule - Configure when and how often the integration runs to fetch updated data from ServiceNow.

Discover and Import CMDB Records

After the integration runs, discovered CMDB records appear in the Discovered tab.

If a correlation field is configured, matching catalog entities are automatically suggested as merge targets. For example, if your catalog already contains an entity named "IDP Service" (created via the Harness CD integration) and the ServiceNow CMDB also has a record named "IDP Service," the integration will automatically suggest merging the CMDB data into the existing entity.

For each discovered record:

  • Register — Creates a new catalog entity populated with the mapped CMDB fields.
  • Merge — Enriches an existing catalog entity with the mapped CMDB fields (for example, adding lifecycle, owner, and custom properties like mttr).

You have the option fo turning on Auto-import for integrations. This will automatically import all discovered entities without needing the manual effort of reviewing discovered entities.

View ServiceNow Data on a Catalog Entity

After merging, the catalog entity's Overview page displays:

  • A ServiceNow integration card showing the CMDB-specific properties (for example, MTTR, CMDB table name). You might need to configure the layout to see this card.
  • Updated fields populated from the CMDB field mappings.
  • The Integrations status card showing ServiceNow: Connected.