You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2022-08-16 15:02:04

ec2311
Member
Registered: 2016-04-07
Posts: 309

API - ListSearchsOptions

Bonjour

peut etre que je veux aller trop loin...mais...

j'ai un programme externe GLPI qui met à jour certaines informations dans GLPI
j'aimerais renseigner le ficheir GLPI_logs afin d'historiser ces maj : ok

cependant, dans ce ficheir glpi_logs il y a le champs "id_search_option" correspondant au numéro du champs que l'on met à jour.

Je pense pouvoir récuperer ce numéro de champs via l'api ListSearchsOptions : je la trouve bien smile
j'obtiens un json de ce type là :
... "132":{"name":"Date de début","table":"glpi_contracts","field":"begin_date","datatype":"date","nosearch":false,"nodisplay":false,"available_searchtypes":["equals","notequals","lessthan","morethan","contains","notcontains"],"uid":"Computer.Contract_Item.Contract.begin_date"} ...

mais je ne sais pas comment recuperer son index (ici 132, par exemple) afin de la renseigner dans le GLPI_logs

Peut etre y a t-il une maniere plus simple de faire ce type de recherche ? (j'aimerais que ce soit dynamique et non pas en dur dans le script)

Merci


GLPI 10.0.10
GLPIinventory 1.3.4

Agents : FI (2.6, 2.5) et Glpiagents (1.7)

Offline

#2 2022-08-19 08:56:14

ec2311
Member
Registered: 2016-04-07
Posts: 309

Re: API - ListSearchsOptions

Bon un peu de php m'a aidé Donc sur le principe resolu

Cependant j'ai un autre souci toujours avec cette liste.
En effet un champs que je mets à jour dans ordinateur n'y apparait pas.
Pourtant dans l'histo de l'ordinateur je vois bien la mise à jour, et dans le glpi_logs je vois bien aussi son numéro de champs...

Donc pourquoi la liste ne contient pas ce champs ?
Merci


GLPI 10.0.10
GLPIinventory 1.3.4

Agents : FI (2.6, 2.5) et Glpiagents (1.7)

Offline

#3 2022-08-19 11:34:23

LaDenrée
HELPER
Registered: 2012-11-19
Posts: 6,168

Re: API - ListSearchsOptions

de quel champ s'agit-il ?
est ce que le champ est dans la classe computer ou dans une classe extended ?

la liste des champs est visible dans la classe computer dans la fonction searchoptions (de mémoire ou un truc qui ressemble)


pouvez vous faire une recherche dans l'interface graphique avec ce champ comme critère ? ( si oui vous trouverez les infos dans l'url)


Trouver la panne avant de réparer...
GLPI10.0.10 (ubuntu 22.04 PHP8.1  Mariadb10.6 ) plugins : comportements 2.7.2 reports 1.16.0 formcreator 2.13.8, datainjection 2.13.4 fields 1.21.6

Offline

#4 2022-08-22 16:19:31

ec2311
Member
Registered: 2016-04-07
Posts: 309

Re: API - ListSearchsOptions

Bonjour @LaDenrée

C'est un champ créé via "Fields", donc champs supplémentaire.
Ce que je ne comprends pas c'est que via cette api je vois bien certains champs supplémentaires faisant partie du meme bloc...

et quand je vais une mise à jour de ce champs (via l'interface standard) je vois bien le nom du champs mis à jour... donc GLPI le voit...

mauvaise utilisation dans le resultat de l'api ? (extrait du code)
    // recupération des options ordinateurs
$url = $api_url . "/listSearchOptions/computer";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
}
curl_close($ch);
print_r($result);

et dans le $result, je ne vois pas tout donc...

et en effet , via l'interface graphique je retrouve le numéro de champs (je peux selectionner le champs dans les filtres etc et dans l'url je vois un chiffre qui semble correspondre a ce que je trouve dans glpi logs...)

mais je ne vois pas pourquoi l'api ne le liste pas sad

Last edited by ec2311 (2022-08-22 16:35:16)


GLPI 10.0.10
GLPIinventory 1.3.4

Agents : FI (2.6, 2.5) et Glpiagents (1.7)

Offline

Board footer

Powered by FluxBB