Modelado de CI con YAML en el sistema de tickets OTOBO
Este capítulo muestra cómo definir y ampliar sus Elementos de Configuración (CI) en el sistema de tickets OTOBO mediante YAML, desde la estructura de páginas y diseño hasta campos dinámicos y tipos de campos.
1. Estructura de las definiciones de CI
Cada definición de CI en OTOBO consta de varios componentes principales:
yaml
- Class:
Name: <Clase de 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: { … }1.1 Páginas
- Name: Nombre de la pestaña en la vista detallada del agente.
- Interfaces: Controla quién ve la pestaña (Agente, Cliente, …).
- Content: Lista de secciones, con posición (RowStart, ColumnStart, si es necesario, Span).
1.2 Diseño
- Columns: Número de columnas en la pestaña.
- ColumnWidth: Especificaciones de ancho proporcional (por ejemplo,
1fr 2fr 1fr).
1.3 Roles
Los roles definen secciones y listas de campos reutilizables:
yaml
- 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 más secciones con referencias a campos (
DF:).
2. Campos Dinámicos (DynamicFields) y Tipos de Campos
Con DynamicFields, puede ampliar sus clases de CI con atributos individuales. Cada campo recibe un nombre, tipo y configuración:
yaml
DynamicFields:
DynamicFieldName:
FieldType: Text
Label: Mi Etiqueta
Name: System-Name
ObjectType: ITSMConfigItem
Config:
DefaultValue: 'demo'
MultiValue: '0'
PossibleNone: '1'
Tooltip: ''
System-LifecycleStatus:
FieldType: Dropdown
Label: Estado del ciclo de vida del sistema
Name: System-LifecycleStatus
ObjectType: ITSMConfigItem
Config:
DefaultValue: ''
MultiValue: '0'
PossibleNone: '1'
PossibleValues:
demo: demo
productive: productive
Tooltip: ''2.1 Tipos de Campos Importantes
| FieldType | Descripción |
|---|---|
| Text | Campo simple de una línea |
| TextArea | Campo de texto libre multilínea |
| Date | Campo de fecha (con restricciones a través de YearsInPast/...) |
| Dropdown | Campo de selección (Single/Multi a través de MultiValue) |
| Agent | Búsqueda de usuario/agente LDAP |
| ConfigItem | Enlace a otro CI (tipo de relación definible) |
| ScriptTemplateToolkit | Campo calculado mediante plantilla (por ejemplo, sumas) |
2.2 Opciones de Configuración
- DefaultValue: Valor predeterminado al crear uno nuevo.
- MultiValue:
'0'(selección única) o'1'(múltiple). - PossibleNone:
'1'para permitir la selección vacía. - PossibleValues: Pares clave-valor para campos desplegables.
- EditFieldMode: por ejemplo,
Dropdown,AutoComplete. - ReferenceFilterList, ReferencedObjectType: para campos de búsqueda.
3. Ejemplo
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. Consejos y Buenas Prácticas
- Modularidad: Utilice roles para secciones recurrentes.
- Claridad: Agrupe campos relacionados en páginas propias.
- Documentación: Comente sus archivos YAML y mantenga activados los desencadenadores de versión.
- Pruebas: 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.