Ir al contenido

Modelado de CI con YAML en el sistema de tickets OTOBO

Modelado de CI con YAML en el sistema de tickets OTOBO

Sección titulada «Modelado de CI con YAML en el sistema de tickets OTOBO»

Este capítulo muestra cómo definir y ampliar sus Configuration Items (CIs) en el sistema de tickets OTOBO mediante YAML, desde la estructura de páginas y Layout hasta los campos dinámicos y tipos de campo.


Cada definición de CI en OTOBO consta de varios componentes principales:

- Class:
Name: <Clase-CI>
Categories:
- All
- <Otras categorías>
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: Nombre de la pestaña en el Zoom del Agent.
  • Interfaces: Controla quién ve la pestaña (Agent, Customer, …).
  • Content: Lista de secciones, con posición (RowStart, ColumnStart, dado el caso Span).
  • Columns: Número de columnas en la pestaña.
  • ColumnWidth: Especificaciones de ancho proporcional (p. ej., 1fr 2fr 1fr).

Los roles definen secciones y listas de campos reutilizables:

- Definition: |
Sections:
General Information:
Content:
- Header: Información general
- DF: System-Name
- DF: System-Version
Relations:
Type: ConfigItemLinks
Header: Relaciones
RoleName: CMDB General Fields
  • RoleName: Nombre único del rol.
  • Sections: Contiene una o varias secciones con referencias a campos (DF:).

2. Campos dinámicos (DynamicFields) y tipos de campo

Sección titulada «2. Campos dinámicos (DynamicFields) y tipos de campo»

Con DynamicFields puede ampliar sus clases de CI con atributos individuales. Cada campo recibe un nombre, tipo y configuración:

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: ''
FieldTypeDescripción
TextCampo simple de una línea
TextAreaCampo de texto libre multilínea
DateCampo de fecha (con restricciones vía YearsInPast/...)
DropdownCampo de selección (Single/Multi vía MultiValue)
AgentBúsqueda de usuario/agente LDAP
ConfigItemEnlace a otro CI (tipo de relación definible)
ScriptTemplateToolkitCampo calculado vía plantilla (p. ej., sumas)
  • DefaultValue: Valor predeterminado al crear uno nuevo.
  • MultiValue: '0' (selección única) o '1' (múltiple).
  • PossibleNone: '1' para permitir una selección vacía.
  • PossibleValues: Pares clave-valor para campos Dropdown.
  • EditFieldMode: p. ej., Dropdown, AutoComplete.
  • ReferenceFilterList, ReferencedObjectType: Para campos de búsqueda (lookup).

- 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: { }

  • Modularidad: Utilice roles para secciones recurrentes.
  • Claridad: Agrupe los campos relacionados en sus propias Pages.
  • Documentación: Comente sus archivos YAML y mantenga los disparadores de versión.
  • Testing: Valide los nuevos campos primero en una instancia de prueba.

Con esta estructura, puede adaptar la CMDB de OTOBO de forma flexible a los requisitos de su organización y mantenerla siempre transparente.