Skip to content

API Access #478

Description

@ChrisBear2980

Code of Conduct

  • I agree to follow this project's Code of Conduct

Is there an existing issue for this?

  • I have searched the existing issues

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)

  1. 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.
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions