Skip to content

Import, Export & Automation in the OTOBO-CMDB

Import, Export & Automation in the OTOBO-CMDB

Section titled “Import, Export & Automation in the OTOBO-CMDB”

The OTOBO-CMDB offers powerful interfaces and automation functions to keep your asset data up to date and simplify recurring tasks.


1. Data Integration via REST and SOAP APIs

Section titled “1. Data Integration via REST and SOAP APIs”
  • REST-API

    • CRUD operations on CI classes and DynamicFields
    • JSON payloads: Simple and lightweight integration
    • Authentication: Token-based or Basic Auth
  • SOAP-API

    • Legacy systems and deep functionality
    • XML payloads with WSDL descriptions
    • State-ful sessions and extensive methods for CI links
  1. Batch processing: Import data in batches to avoid timeouts.
  2. Error handling: Check return codes and log entries (“SysLog”).
  3. Rate limiting: Pay attention to API limits to prevent blocking.

  • CSV Import/Export

    • Field mapping: Column names → DynamicField names
    • Delimiter, character set, and header configurable
    • Bulk update for existing CIs via key attribute (e.g., name or ID)
  • XML Import/Export

    • Complex structures and nested fields
    • Mapping via XSLT stylesheets possible
    • Usage with SOAP clients and third-party tools
  1. Generate template: First, export an example CSV/XML.
  2. Enrich data: Adjust values and validate locally.
  3. Start import: Via Agent interface or CLI script.
  4. Check result: Check logs for error lines and warnings.

  • Network scanning: Detection of IP networks, devices, and services
  • Agent-based discovery: Local agents report system details to the CMDB
  • Integration of external tools: Ansible, Puppet, SCCM, Nagios, and many more.
  • Scheduled scans: Schedule regular inventory runs.
  • Overwrite vs. enrichment: Configure rules for update behavior.
  • Conflict resolution: Manual review or automatic prioritization of old vs. new data.

  • Trigger
    • Trigger actions upon field changes (e.g., notification, auto-assign)
    • Configuration directly in YAML under VersionTrigger or via script
VersionTrigger:
- DefinitionUpdate
- ValueUpdate
  • Use cases

    • Automatically update inventory log after a serial number change
    • Send email reminder upon certificate expiration

  • VersionTrigger: Controls which events trigger the creation of a new CI version

  • Common values

    • NameUpdate
    • ConfigItemCreate
    • ValueUpdate
    • DefinitionUpdate
VersionStringModule: Incremental
VersionTrigger:
- ConfigItemCreate
- ValueUpdate

Version history of all changes for traceability and audit compliance.


  • Calculated fields: Sum, average, dynamic text modules
  • Syntax: TemplateToolkit ([% … %])
DynamicFields:
TotalRAMGB:
FieldType: ScriptTemplateToolkit
Label: Total RAM (GB)
Config:
Expression: |
[% Count = DynamicField_RAMCount %]
[% Size = DynamicField_RAMSize %]
[% Total = Count * Size %]
[% Total %] GB
RequiredArgs:
- DynamicField_RAMCount
- DynamicField_RAMSize
Readonly: '1'
  • Cumulative values (e.g., total storage)
  • Status calculations (e.g., “critical” at certain thresholds)
  • Text generation (e.g., asset descriptions with placeholders)

  1. Automated Imports: Combine REST jobs with CSV imports in cron jobs.
  2. Discovery + Trigger: Detect new devices and start CI creation automatically.
  3. Reporting: Use script fields and version history for automated reports via API.

With these mechanisms, processes can be seamlessly integrated into the OTOBO-CMDB, data quality can be ensured, and manual routine tasks can be minimized.