Skip to main content

Importing from a spreadsheet

When your servers, databases or certificates are already listed somewhere (a spreadsheet, an export from monitoring or a cloud), import them instead of typing them in. Each import is checked first, and nothing is saved until you say so.

You need Manage CI classes (ci.settings) for the organization. On Configuration items, click Import.

The file​

A CSV file of one class, with the column names in the first row. Pick the class in the dialog, then Choose a file or paste the text. Template for this class downloads an empty file with the columns the class reads: the fields, identifiers, its data properties and the kinds of relationship between CIs.

ColumnWhat to put in it
NameNeeded on every row.
UnitsThe units that hold it, by name. Needed for a new one.
LifecyclePlanned, Live, Retiring or Retired. A new one is Live when left empty.
EnvironmentAn environment by name, such as Production.
OwnerThe owner's email address. They must work in one of its units.
Support teamA team by name.
DescriptionText, for agents.
Host name, Fully qualified name, IP address, Serial numberIts identifiers.
Id in toolAn id another tool knows it by, such as a column called Id in Monitoring.
A data propertyHeaded with its name (Operating system) or key (os). Yes or no for a checkbox, an option's name for a dropdown, an email for a person.
A relationship typeHeaded with its name, such as Runs on or Depends on: the CIs this one relies on, by name or identifier. Headed with its reverse name, such as Runs or Used by: the services (by code) or CIs that rely on this one.

Put several values in one cell with ; between them: Platform; Operations. Columns with any other name are left out, and the check lists them. A file can have up to 2,000 rows.

Finding the ones already there​

Find existing ones by says what matches a row to a CI the organization has: its Name (the default), or an identifier such as the IP address or an Id in another tool. A row that matches is changed; the others are added.

Changing one only sets what the file has: an empty cell leaves the field as it is, and identifiers are added to those it has, never taken away. A CI already there in another class isn't changed; change its class on its page first.

Check, then import​

Check reads every row and says what would happen: Add, Change (with what changes), No change, or a Problem with the reason, such as an unknown unit, an owner outside its units, or an identifier another CI has. Rows with a problem are left out; fix the file and check again, or import the rest.

Import, which says how many, saves the rows without problems, each as if it were added or changed by hand, with its own history. Then the relationships are added, so a row can point at a CI further down the same file.

The record of imports​

Every import is kept under Service Configuration → Settings → CMDB → Imports: who ran it, when, the class, the file's name and a SHA-256 checksum of it, what it added and changed, and the rows it left out with the reasons. Imported again, the same file changes nothing.