Code of Conduct
Is there an existing issue for this?
GLPI Version
GLPI 11
Plugin version
2.10.4
Bug description
Nous construisons un tableau de bord Power BI de reporting, alimenté par l'API REST de GLPI. Tout fonctionne déjà correctement (tickets, statuts, catégories, etc.) via apirest.php.
Un besoin reste bloqué : accéder au détail des événements d'escalade (table glpi_plugin_escalade_histories du plugin Escalade), qui contient l'historique complet des changements de groupe par ticket (tickets_id, groups_id_previous, groups_id, date_mod, counter). C'est nécessaire pour calculer des indicateurs de délai (temps avant escalade N2→N3, durée de traitement N3, taux de réescalade).
Ce qui a été testé et ne fonctionne pas
- API REST standard (
apirest.php/PluginEscaladeHistory) : retourne ERROR_RIGHT_MISSING (HTTP 403) quel que soit le profil utilisé. En examinant le code source du plugin (github.com/pluginsGLPI/escalade), la classe PluginEscaladeHistory n'est jamais enregistrée via Plugin::registerClass() et ne définit aucun $rightname — elle n'a donc structurellement aucun droit exposable dans l'API, quel que soit le profil.
- Accès MySQL direct : non disponible (instance GLPI Cloud).
- Lien de partage du plugin Advanced Dashboard (« Lien direct » d'une Question SQL) : fonctionne uniquement avec une session web active (cookie), pas en accès token seul comme annoncé — donc inutilisable depuis un outil externe (Power BI) qui n'a pas de session navigateur.
Ce qui débloquerait la situation (une des deux solutions suffit)
- Exposer
PluginEscaladeHistory dans l'API REST : enregistrer la classe via Plugin::registerClass('PluginEscaladeHistory', ['rightname' => 'plugin_escalade_history']) (ou équivalent) et ajouter le droit correspondant (lecture seule) au profil « Reporting BI ». C'est un changement côté code du plugin Escalade, pas juste une case à cocher dans un profil existant.
- Corriger le lien de partage Advanced Dashboard pour qu'il fonctionne réellement sans session (comme le suggère son mécanisme de token) — si c'est un bug/une configuration corrigible côté GLPI Cloud.
Merci de nous dire laquelle des deux pistes est réalisable, ou toute autre alternative de votre côté.
Relevant log output
Page URL
No response
Steps To reproduce
Accès via API
Your GLPI setup information
No response
Anything else?
No response
Code of Conduct
Is there an existing issue for this?
GLPI Version
GLPI 11
Plugin version
2.10.4
Bug description
Nous construisons un tableau de bord Power BI de reporting, alimenté par l'API REST de GLPI. Tout fonctionne déjà correctement (tickets, statuts, catégories, etc.) via
apirest.php.Un besoin reste bloqué : accéder au détail des événements d'escalade (table
glpi_plugin_escalade_historiesdu plugin Escalade), qui contient l'historique complet des changements de groupe par ticket (tickets_id,groups_id_previous,groups_id,date_mod,counter). C'est nécessaire pour calculer des indicateurs de délai (temps avant escalade N2→N3, durée de traitement N3, taux de réescalade).Ce qui a été testé et ne fonctionne pas
apirest.php/PluginEscaladeHistory) : retourneERROR_RIGHT_MISSING(HTTP 403) quel que soit le profil utilisé. En examinant le code source du plugin (github.com/pluginsGLPI/escalade), la classePluginEscaladeHistoryn'est jamais enregistrée viaPlugin::registerClass()et ne définit aucun$rightname— elle n'a donc structurellement aucun droit exposable dans l'API, quel que soit le profil.Ce qui débloquerait la situation (une des deux solutions suffit)
PluginEscaladeHistorydans l'API REST : enregistrer la classe viaPlugin::registerClass('PluginEscaladeHistory', ['rightname' => 'plugin_escalade_history'])(ou équivalent) et ajouter le droit correspondant (lecture seule) au profil « Reporting BI ». C'est un changement côté code du plugin Escalade, pas juste une case à cocher dans un profil existant.Merci de nous dire laquelle des deux pistes est réalisable, ou toute autre alternative de votre côté.
Relevant log output
Page URL
No response
Steps To reproduce
Accès via API
Your GLPI setup information
No response
Anything else?
No response