Zum Inhalt springen

CI-Modellierung mit YAML im OTOBO-Ticketsystem

Dieses Kapitel zeigt, wie Sie Ihre Configuration Items (CIs) im OTOBO-Ticketsystem per YAML definieren und erweitern – von der Seiten- und Layout-Struktur bis zu dynamischen Feldern und Feldtypen.


Jede CI-Definition in OTOBO besteht aus mehreren Hauptbestandteilen:

- Class:
Name: <CI-Klasse>
Categories:
- All
- <Weitere Kategorien>
NumberModule: AutoIncrement
PermissionGroup: itsm-configitem
VersionStringModule: Incremental
Definition: |
Pages:
- Name: Summary
Layout:
Columns: 3
ColumnWidth: 1fr 1fr 1fr
Interfaces:
- Agent
- Customer
Content:
- Section: General Fields::General Information
RowStart: 1
ColumnStart: 1
- Section: ITSM Model::Model
RowStart: 1
ColumnStart: 2
- Section: CMDB Description::Description
RowStart: 2
ColumnStart: 1
ColumnSpan: 2
DynamicFields: { }
  • Name: Bezeichnung des Tabs im Agent-Zoom.
  • Interfaces: Steuerung, wer den Tab sieht (Agent, Customer, …).
  • Content: Liste von Sektionen, mit Position (RowStart, ColumnStart, ggf. Span).
  • Columns: Anzahl der Spalten im Tab.
  • ColumnWidth: Proportionale Breitenangaben (z. B. 1fr 2fr 1fr).

Rollen definieren wiederverwendbare Sektionen und Feldlisten:

- Definition: |
Sections:
General Information:
Content:
- Header: Allgemeine Informationen
- DF: System-Name
- DF: System-Version
Relations:
Type: ConfigItemLinks
Header: Beziehungen
RoleName: CMDB General Fields
  • RoleName: Eindeutiger Name der Rolle.
  • Sections: Enthält eine oder mehrere Sektionen mit Feldreferenzen (DF:).

2. Dynamische Felder (DynamicFields) und Feldtypen

Abschnitt betitelt „2. Dynamische Felder (DynamicFields) und Feldtypen“

Mit DynamicFields erweitern Sie Ihre CI-Klassen um individuelle Attribute. Jedes Feld erhält Name, Typ und Konfiguration:

DynamicFields:
DynamicFieldName:
FieldType: Text
Label: My Label
Name: System-Name
ObjectType: ITSMConfigItem
Config:
DefaultValue: 'demo'
MultiValue: '0'
PossibleNone: '1'
Tooltip: ''
System-LifecycleStatus:
FieldType: Dropdown
Label: Lifecycle status of system
Name: System-LifecycleStatus
ObjectType: ITSMConfigItem
Config:
DefaultValue: ''
MultiValue: '0'
PossibleNone: '1'
PossibleValues:
demo: demo
productive: productive
Tooltip: ''
FieldTypeBeschreibung
TextEinfaches Einzeilig-Feld
TextAreaMehrzeiliges Freitextfeld
DateDatumsfeld (mit Einschränkungen via YearsInPast/...)
DropdownAuswahlfeld (Single/Multi via MultiValue)
AgentLDAP-User/Agent Lookup
ConfigItemVerknüpfung zu anderem CI (Relationstyp definierbar)
ScriptTemplateToolkitBerechnetes Feld via Template (z. B. Summen)
  • DefaultValue: Vorgabewert bei Neuanlage.
  • MultiValue: '0' (einzelne Auswahl) oder '1' (mehrfach).
  • PossibleNone: '1', um leere Auswahl zu erlauben.
  • PossibleValues: Key-Value-Paare für Dropdown-Felder.
  • EditFieldMode: z. B. Dropdown, AutoComplete.
  • ReferenceFilterList, ReferencedObjectType: Für Lookup-Felder.

- Class:
Name: CIName
Categories:
- All
- IT
NumberModule: AutoIncrement
PermissionGroup: itsm-configitem
VersionStringModule: Incremental
Definition: |
Pages:
- Name: Intro
Layout:
Columns: 2
ColumnWidth: 1fr 1fr
Interfaces:
- Agent
Content:
- Section: CMDB General Fields::Information
RowStart: 1
ColumnStart: 1
- Section: CMDB General Fields::Risks
RowStart: 2
ColumnStart: 1
- Name: Details
Layout:
Columns: 1
ColumnWidth: 1fr
Interfaces:
- Agent
Content:
- Section: CMDB General Fields::Software
RowStart: 1
ColumnStart: 1
DynamicFields:
System-Name: { }
System-Version: { }
System-LifecycleStatus: { }

  • Modularität: Nutzen Sie Rollen für wiederkehrende Sektionen.
  • Übersichtlichkeit: Gruppieren Sie verwandte Felder in eigene Pages.
  • Dokumentation: Kommentieren Sie Ihre YAML-Dateien und pflegen Sie Versions­trigger.
  • Testing: Validieren Sie neue Felder zuerst in einer Testinstanz.

Mit diesem Aufbau können Sie die OTOBO-CMDB flexibel an Ihre Organisationsanforderungen anpassen und stets transparent halten.