Please check if the feature has not already been requested.
If not, please describe it

DO NOT clear fields when a mandatory field is missing
When you try to close a ticket and you missed to fill a mandatory field (eg category), the response field you took time to fill is TOTALLY EMPTY after clicking on save...

Add Notice field
Can you add a Notice field to the warranty information of a Computer asset ? A notification mail will be sent out before the warranty expires, allowing IT staff to extend the warranty in time before it expires.
Actually a Notice field is welcome to any asset that contains warranty information (Monitors, Printers,...)

Add dedicated "Menu icon" field for GenericObject types (supporting Tabler Icons)
### Feature request
Currently in GenericObject (2.14.14 with GLPI 10.0.19), there is no dedicated field to define a custom icon for each object type in the left navigation menu.
- In older versions, some users used the `comment` field as a workaround to inject Font Awesome classes.
- Since GenericObject 2.14.14 this workaround is no longer reliable.
- It would be much cleaner to have a dedicated field `menu_icon` for each GenericObject type.
### Expected behavior
- In the "Type" configuration page of GenericObject, add a field **Menu icon**.
- This field should accept a Tabler icon class (e.g. `ti ti-device-tv`, `ti ti-projector`).
- If empty, fallback to a default icon (e.g. `ti ti-box`).
- This value should be stored in DB (e.g. in `glpi_plugin_genericobject_types.menu_icon`).
### Benefits
- Better integration with GLPI’s UI (Tabler icons).
- No need to hijack the `comment` field.
- Consistency with core GLPI objects which already have dedicated icons.
### Environment
- GLPI: 10.0.19
- Plugin GenericObject: 2.14.14

GLPI – Instancias MySQL se fusionan / Reglas de “Instancias de base de datos” no exponen Host/Puerto/Ruta (sockets) #68
Código de conducta
Acepto seguir el Código de conducta de este proyecto.
¿Existe algún problema existente con esto?
He buscado los problemas existentes
Versión GLPI
GLPI 10.0.18
Versión del complemento
1.0.3
Descripción del error
Hola,
Intentamos inventariar varias instancias de MySQL en el mismo servidor, pero GLPI termina fusionándolas en una sola instancia de "MySQL".
Además, en Reglas → Instancias de base de datos no vemos campos que nos permitan distinguirlas por host/puerto o ruta de socket.
Ambiente
Servidor GLPI: [versión/edición] (IU en español).
Dispositivo inventariado: MYSQLDBS-E2 (Linux).
Agente GLPI: 1.15-1 (Debian) – Agente de usuario: GLPI-Agent_v1.15-1.
MySQL: 8.0.37, con 6 instancias:
TCP: 127.0.0.1:44001…44006
Sockets: /var/run/mysqld/{webpndb,kohadb,miscdb,atomdb,rbiblodb,omekadb}.sock
Cómo reproducirse
Enviamos el inventario por TCP con el agente (seis credenciales en la misma ejecución):
glpi-agent --tasks=Inventario --full --force --debug --required-category=base de datos
--credentials="uso:mysql,tipo:contraseña_de_inicio_de_sesión,inicio_de_sesión:glpi_database,contraseña:XXXX,host:127.0.0.1,puerto:44001"
--credentials="uso:mysql,tipo:contraseña_de_inicio_de_sesión,inicio_de_sesión:glpi_database,contraseña:XXXX,host:127.0.0.1,puerto:44002"
--credentials="uso:mysql,tipo:contraseña_de_inicio_de_sesión,inicio_de_sesión:glpi_database,contraseña:XXXX,host:127.0.0.1,puerto:44003"
--credentials="uso:mysql,tipo:contraseña_de_inicio_de_sesión,inicio_de_sesión:glpi_database,contraseña:XXXX,host:127.0.0.1,puerto:44004"
--credentials="uso:mysql,tipo:contraseña_de_inicio_de_sesión,inicio_de_sesión:glpi_database,contraseña:XXXX,host:127.0.0.1,puerto:44005"
--credentials="uso:mysql,tipo:contraseña_de_inicio_de_sesión,inicio_de_sesión:glpi_database,contraseña:XXXX,host:127.0.0.1,puerto:44006"
--server "
En "class="redactor-autoparser-object">https://[our-glpi]/front/inventory.php"
En Administración → Base de datos → Instancias (del dispositivo) GLPI no crea 6 instancias; crea/actualiza una sola llamada “MySQL”, y cada nuevo puerto sobrescribe al anterior.
Para los sockets (--credentials=... socket:/var/run/...sock) el comportamiento es el mismo: todo se fusiona en una sola instancia.
En Administración → Reglas → Importar y vincular reglas → pestaña "Instancias de base de datos", al crear una regla, no se ven los campos Host de instancia, Puerto ni Ruta (socket).
Solo se ven opciones como "Puerto de red > IP/MAC/Número de puerto", que corresponden a equipos, no a instancias de base de datos.
Por lo tanto, no se puede vincular mediante (Dispositivo + Puerto/Ruta) para separar las instancias 44001…44006.
Comportamiento esperado
El importador debe crear una instancia por punto final (host:puerto o ruta de socket) del mismo dispositivo.
Poder definir una regla en Instancias de Base de Datos con criterios Dispositivo + (Host + Puerto | Ruta) y acción “Vincular si es posible” para evitar la fusión.
Resultado actual
Todas las instancias se fusionan en un único “MySQL”.
No podemos crear reglas porque los campos de instancia Host/Puerto/Ruta no están expuestos.
La única solución alternativa: importe un puerto a la vez, cambie el nombre de la instancia a MySQL-4400X y bloquee Nombre/Host/Puerto en Bloqueos. Esto es manual y delicado.
Solicitud / preguntas
¿Es esto un error o una limitación conocida de la versión actual?
¿En qué versión de GLPI/plugin deberían estar disponibles los campos Host/Puerto/Ruta dentro de Reglas → Instancias de base de datos?
¿Podrías exponer esos campos en el motor de reglas y/o hacer que la clave de deduplicación incluya (dispositivo, tipo, host, puerto, ruta) para que otras instancias en el mismo dispositivo no se sobrescriban?
¿Existe algún parámetro o parche recomendado para manejar adecuadamente múltiples instancias inventariadas por socket?
Gracias por tu ayuda y por el desarrollo.
Salida de registro relevante
[depuración] Ejecutando GLPI::Agent::Task::Inventory::Generic::Databases::MySQL
[información] Inventario guardado… MYSQLDBS-E2-*.json
URL de la página
Página de reglas: /front/ruleimportasset.php → pestaña “Instancias de la base de datos”
Lista de instancias: /front/databaseinstance.php
Pasos para reproducir
Dispositivo MYSQLDBS-E2 con MySQL 8.0.37 en los puertos 44001–44006 (y sockets en /var/run/mysqld/*.sock).
Enviar inventario a través de TCP:
glpi-agent --tasks=Inventario --completo --force --categoría-obligatoria=base-de-datos
--credenciales="uso:mysql,tipo:contraseña_de_inicio_de_sesión,inicio_de_sesión:glpi_database,contraseña:,host:127.0.0.1,puerto:44001"
… (repetido para 44002…44006)
--servidor "
Abrir "class="redactor-autoparser-object">https:///front/inventory.php"
Abra Administración → Base de datos → Instancias del dispositivo.
Actual: solo 1 “MySQL” y cada nuevo puerto lo sobrescribe.
Se esperaba: 6 instancias independientes (una por host:puerto).
En Reglas → Instancias de base de datos, el editor no expone los campos Host/Puerto/Ruta de la instancia; solo los criterios “Puerto de red” (de Computadora), por lo que no es posible vincular por Dispositivo + Puerto/Ruta.
Su información de configuración de GLPI
GLPI: (UI ES) • PHP • DB <versión de MySQL/MariaDB> • SO del servidor <…>
Complemento/Inventario:
Agente GLPI: 1.15-1 (Debian) – UserAgent GLPI-Agent_v1.15-1
Dispositivo inventariado: Linux • MySQL 8.0.37 con puertos 44001–44006 y sockets /var/run/mysqld/{webpndb,kohadb,miscdb,atomdb,rbiblodb,omekadb}.sock
¿Algo más?
El complemento/importador no se autentica por sí solo; solo se conecta si pasamos credenciales al agente (use:mysql,…,host/port|socket).
Pedido:
Exponer en las reglas de Instancias de Base de Datos los campos Host, Puerto y Ruta (socket).
Evite la fusión mediante el uso de una clave de deduplicación que incluya (dispositivo, tipo, host, puerto, ruta) de modo que se cree una instancia por punto final.

view calendar in use within the ticket
Olá a todos, vou abrir uma discussão aqui sobre a criação de um recurso que pode facilitar a identificação do calendário em uso a partir do tíquete aberto.
O calendário glpi é relevante para quem utiliza SLAs. O calendário pode ser associado a partir do bloco criado (nível de serviço) ou diretamente pela entidade.
Há situações em que calendários são utilizados por equipe (grupo), criando um bloco de SLA para cada um. Seria interessante mostrar qual calendário está em uso em algum ponto do ticket. Outra opção seria mostrar o calendário associado ao lado do SLA (talvez isso faça mais sentido), para que seja mais fácil identificá-lo sempre que você estiver testando regras com calendários diferentes.

URL defined access to the ticket
Access to the existing ticket (change, for example), may need to be done by establishing the URL, which would include the ticket number.
As in the GLPI, user has to be logged in already and there are two other requirements:
- current PROFILE has to be correct, otherwise, there will be Permission issue;
- current ENTITY has to be correct as well, otherwise, again, permission issue.
So, only after mentioned requirements are established, ticket may be opened (of course, if user has access to the ENTITY with the role in the PROFILE).
I saw that there may be a possibility to do that in few automated steps, by having:
1. Ticket (example, change number);
2. Opening GLPI in specified browser, for automated log in;
3. Going to the page with the specific PROFILE instance, just to make the correct PROFILE current (central; newprofile=number);
4. Going to the page with the specific ENTITY instance, to have that ENTITY as current one (central;active_entity=number);
5. Opening the page with the change number (change_form; id=change_number).
This is just starting point. Further steps would be to have mechanism to check under which PROFILE the ticket needs to be opened (permissions valid), and then, to find the ENTITY with specified ticket number.
Is there anything in the GLPI itself that, now, can make this working, or it needs fully to be automated by some scripting?
Idea is to have a possibility to open ticket (change, for example), fast, immediately, from chat, email, clicking to the ticket number.
Thank you, have a great day.
Aldo

webhook add element
In the new version 11, webhooks evolves offering a certain number of features on the different types of elements.
Except there is not all the elements, is it possible to provide the integration of other elements such as user sheets.
Example: it would be interesting to be notified when a user sheet is modified or an additional field is modified on its sheet. (specific case)

GLPI Headless mode installation
To be able to fully install GLPI using Config as Code tools like Ansible, I suggest adding a feature to be able to install GLPI in a headless mode.
The idea is to automate the GUI setup process in a headless mode script.
I can contribute to this one.
I'm not a PHP developer, but I can automate the process if an API is provided.
Thanks.

The history of PCs assigned to an User????
Pls why, GLPI only logs the history of users assigned to a PC, but it doesn't log the history of PCs assigned to a User????
PLS!! Thanks GLPI!
Servicio de atención al cliente por UserEcho