Uploading your config data
Summarize
Summary of Uploading your config data
This guide explains how to upload existing configuration data into the Configuration Data Model (CDM) application structure within ServiceNow Zurich release. The process involves creating a new CDM application, modeling the data structure, and uploading the config data using REST APIs or the config data editor. Note that DevOps Config is deprecated and no longer supported for new activations.
Show less
Initial Setup and Data Modeling
- Create a new CDM application (e.g., Bookstore) representing the full collection of configuration data for an application service or infrastructure group in the CMDB.
- Generate a new changeset within this application to define the data structure by adding nodes such as components, collections, deployables, and CDIs (Configuration Data Items).
- Example: Adding components and collections where components (like PaymentSvc-1.0) are included within collections (like Release-1.0), which groups the related data.
- The changeset remains open during data upload, allowing you to update the structure as needed before committing.
Uploading Configuration Data
- Use the REST Explorer or REST APIs to upload source config data (commonly in JSON or XML format) into the defined CDM structure.
- Set parameters to specify the target application, data path within the CDM structure, data format, and source content.
- When uploading XML with ignoreAttributes set to false, attributes are retained using JSON identifiers.
- The system alphabetically sorts uploaded items within structural folders for easier navigation.
Limits and Automation
- Maximum of 100,000 Configuration Data Items per application and 10,000 per deployable, configurable via system properties.
- Each POST upload request generates an upload script in a chosen scripting language for pipeline automation of future uploads.
Post-Upload Management
- After completing data upload and validation, commit the changeset to generate snapshots and persist data in CDM tables.
- Manage configuration data through updates, policy validations, and snapshot exports.
- Exported snapshots can include generated API invocation code to automate export processes.
Additional Resources
For deeper understanding and detailed steps, consult related topics such as preparing an application for config data upload, and parsing XML or CSV files in CDM.
You first create a new CDM application structure and then upload the existing config data into the structure.
How it works: Performing the initial upload of your existing config data into CDM data tables
- Open the CDM user interface and create a new application. For example, let's create the Bookstore application to support an online bookstore. An application in CDM is the full collection of config data for an application service, application model, or dynamic CI group [infrastructure] in the CMDB.
- Now open the Bookstore application and generate a new changeset so you can begin to put
the data structure in place. (A more detailed overview of this process appears in Preparing an application for config data upload.)
In the changeset, define the data structure that includes a node for each set of config data that you will upload. This process is called modeling the data. You add components, collections, deployables, and CDIs as needed. For information on each of these items, see CDM data model. For additional information on adding nodes to an application, see Preparing an application for config data upload.
In this example, two components and two collections have been added. Now, the PaymentSvc-1.0 component is included in the Release-1.0 collection. As with all collections, this means that any data in the PaymentSvc-1.0 component is now included in the Release-1.0 collection.
When you are satisfied with the structure (you can update at any time), you open the REST Explorer to begin the process of uploading the source config data into the CDM data tables. Do not commit the changeset — it remains open so you can upload data.
- Using the REST APIs or the config data editor, set parameter values that specify the name of the application to upload to, the path within the CDM application data structure to place the data, the format of the source data (JSON in the example), and so on.Note:When you upload your existing config from an XML file and the ignoreAttributes is set to false, the CDM XML Parser retains the attributes in JSON using identifiers. For more information, see Parsing of XML files in CDM.
This example shows the REST API Explorer platform utility for clarity. This is an example of how you might construct an Upload to components REST POST request that creates a dbProperties.json node in the PaymentSvc-1.0 component and then adds the source data to the new node. (You specify the source data to upload in another field.) The APIs are described in CdmApplicationsApi, CdmChangesetsApi, and CdmSnapshotApi.
- When you select Send, the API reads the original config data, uploads it and aligns it into the CDM data structure.Note:Uploaded data items are sorted alphabetically within the structural folders to enable you to locate particular items quickly.The system places the following limits on the count of config data items (CDIs):
- An application can contain a maximum total of 100,000 CDIs.
- Any single deployable can contain a maximum of 10,000 CDIs.
Important:Each time you submit a POST request, the API performs the POST and also generates an upload script. You can specify one of several script languages. The purpose is for you to use the code in your pipeline system to automate the upload process for this application in future uploads. - Back to CDM: Review and update the config data as described in Preparing an application for config data upload.
- When you are satisfied that the application is a full and correct representation of the config data, you can commit the changeset. The commit action generates a snapshot of each deployable and causes the API to store the
data in CDM tables.
Now that the application is fully in place, you can manage the data as needed: Update config settings, apply policies to validate the data, export valid snapshots of config data, and so on.
While you export any snapshot, the system can generate API code that you can use to automate the export process. See Generate API invocation code for an exporter for details.