Appearance
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.
1. Aufbau von CI-Definitionen
Jede CI-Definition in OTOBO besteht aus mehreren Hauptbestandteilen:
yaml
- 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: { … }
1.1 Pages
- 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).
1.2 Layout
- Columns: Anzahl der Spalten im Tab.
- ColumnWidth: Proportionale Breitenangaben (z. B.
1fr 2fr 1fr
).
1.3 Rollen (Roles)
Rollen definieren wiederverwendbare Sektionen und Feldlisten:
yaml
- 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
Mit DynamicFields erweitern Sie Ihre CI-Klassen um individuelle Attribute. Jedes Feld erhält Name, Typ und Konfiguration:
yaml
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: ''
2.1 Wichtige Feldtypen
FieldType | Beschreibung |
---|---|
Text | Einfaches Einzeilig-Feld |
TextArea | Mehrzeiliges Freitextfeld |
Date | Datumsfeld (mit Einschränkungen via YearsInPast/... ) |
Dropdown | Auswahlfeld (Single/Multi via MultiValue ) |
Agent | LDAP-User/Agent Lookup |
ConfigItem | Verknüpfung zu anderem CI (Relationstyp definierbar) |
ScriptTemplateToolkit | Berechnetes Feld via Template (z. B. Summen) |
2.2 Konfigurationsoptionen
- 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.
3. Beispiel
yaml
- 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: { … }
4. Tipps und Best Practices
- 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 Versionstrigger.
- 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.