Skip to main content

CSV-Mappings über die Konsole anlegen

Sie können manuell oder automatisiert CSV-Import/Export-Mappings für alle vorhandenen Asset-Klassen erstellen lassen. Diese können Sie dann für den Import und Export von Asset-Daten über Konsolenbefehle verwenden.

asset-import-export_mapping-console.png

Abb.: Verwendung der Konsole für den Import/Export

Navigieren Sie zum Menü System > Konsole. Führen Sie dort nach Bedarf eins oder mehrere der folgenden Kommandos aus:

Kommando

Beschreibung

Admin::ITSM::ImportExport::ListMappings

Listet alle im System vorhandenen Mappings auf.

Admin::ITSM::ImportExport::AutoCreateMapping

Erstellt ein neues Mapping für alle Asset-Klassen; die ID des Mappings darf sich dabei ändern.

Hinweis: Die Neuerstellung und Aktualisierung der Mappings erfolgt nur, wenn in der SysConfig der Schlüssel ImportExport::CSVMappingAutoCreate###ForceCSVMappingRecreation entsprechend gesetzt ist (Default: No).

Admin::ITSM::ImportExport::AutoCreateMapping --class ClassName

Erstellt ein neues Mapping für die Asset-Klasse mit dem Klassennamen "ClassName"

  1. Admin::ImportExport::CreateMapping --file /path/to/file.json

  2. Admin::ImportExport::CreateMapping --file /path/to/file.json --replace

  1. Legt ein neues CSV-Mapping für den Ex-/Import von Asset-Daten an (ergänzend zum Default-Mapping), z. B.:

    --file /tmp/CreateImportExportMapping.json

  2. Entfernt bzw. ersetzt ein bestehendes Mapping mit gleichem Namen, z. B.:

    --file /tmp/CreateImportExportMapping.json --replace

Kann verwendet werden, um bspw. partielle Config Item Updates oder kombinierte Asset-Importe von technischen Gerätedaten (file1.csv) und Kostenstellendaten (file2.csv) durchzuführen.

Die Mapping-Beschreibung muss als JSON-Datei vorliegen, z. B.:

{
  "A Sample Mapping Name": {                # Mapping-Name
    "Charset": "UTF-8",                     # Zeichensatz-Codierung (Angabe erforderlich)
    "ColumnSeparator": "Semicolon",         # Trennzeichnen für Spalten
    "IncludeColumnHeaders": "1",            # Export mit Spaltenüberschriften? (0 = nein; 1 = ja)
    "CountMax": "10",                       # max. Anzahl Array-Elemente
    "ClassName": "Computer",                # Name der Assetklasse
    "DefaultDeploymentStateID": "15",       # Vorgabe Verwendungsstatus (ID)
    "DefaultIncidentStateID": "1",          # Vorgabe Vorfallstatus (ID)
    "DefaultName": "",                      
    "EmptyFieldsLeaveTheOldValues": "1",    # Übernahme der Altdaten aus Vorgängerversion bei Teilupdate
    "IdentifierAttribute": "Number",        # Spalte, welche als Identifikator-Spalte dient
    "CSVRowMapping": [                      # Enthält das Spalten-Mapping mit Identifikator-Spalte
      "Number",
      "Name",
      "DeplState",
      "InciState",
      "SectionGeneral::1",
      "SectionGeneral::1::Type::1",
      "SectionGeneral::1::Vendor::1"
    ]
  }
}

Weitere Attribute bzw. deren Spaltenbenennung kann aus den Spaltenbeschriftungen der Vorgabe-Mappings bezogen werden.

Aufruf im Backend bspw. mit:

I have no name!@1234f56f7890:/opt/kix$ ./bin/kix.Console.pl Admin::ImportExport::CreateMapping --file /tmp/CreateImportExportMapping.json --replace

Anmerkung

In der SysConfig stehen Ihnen verschiedene Konfigurationsoptionen für das Mapping zur Verfügung. Die Einstellungen beginnen alle mit ImportExport::CSVMappingAutoCreate###[…].

Die Event-Registrierung beginnt mit ITSMConfigItem::EventModulePost###910-CSVMappingAutoCreate.