You are not logged in.
Pages: 1
Bonjour a tous,
Pour vous mettre dans le contexte je cherche a mettre en place un système qui va intercepter la différence qu'il y a entre les moniteurs branché a un poste et ceux initialement branché lors de l'exécution de l'agent GLPI en utilisant les ST des postes et des écrans. Cependant je bloque sur un point, en effet je n'arrive pas a faire de requêtes a l'API pour n'obtenir que les moniteurs du poste dont le ST = $ST.
Je n'arrive même pas a filtrer uniquement les PC qui ont un ST = $ST.
Sauriez vous m'indiquer la requête a effectué pour que ces filtres soit pris en compte ?
Merci a ceux qui prendront le temps de m'aider.
Last edited by Faxouille (2024-04-05 12:16:04)
Offline
c'est quoi un ST ?
arrivez vous à faire la requête avec l'interface graphique ?
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Par ST je veux dire Serial Tag / Service Tag. Le numéro de série de l'appareil..
Je n'ai pas tout les accès a l'interface du GLPI je teste toutes mes requêtes via POSTMAN puis python
Offline
avec cette url vous pouvez filtrer soit par N° de série di PC soit par N° de série du moniteur ( supprimez le critère 0 ou 1 )
attention pour filtrez avec "contains" pensez à encadrer la valeur du N° de série par un ^ au début et un $ à la fin
.../apirest.php/search/Computer/?is_deleted=0&as_map=0
&criteria[0][link]=AND&criteria[0][field]=5&criteria[0][searchtype]=contains&criteria[0][value]=STduPC
&criteria[1][link]=AND&criteria[1][itemtype]=Monitor&criteria[1][meta]=1&criteria[1][field]=5&criteria[1][searchtype]=contains&criteria[1][value]=STduMoniteur
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Effectivement cela fonctionne ! Merci beaucoup !
Savez vous comment je pourrais obtenir le N° de série des écrans qui sont relié a l'ordinateur que je cherche avec le N° de série du PC ? s'il vous plait ?
Offline
je n'ai pas trouvé comment afficher directement le N° de série
cette requête renvoie la liste des écrans avec leurs ID (key=2)
.../apirest.php/search/Monitor/?is_deleted=0&as_map=0&criteria[0][link]=AND&criteria[0][itemtype]=Computer&criteria[0][meta]=1&criteria[0][field]=5&criteria[0][searchtype]=contains&criteria[0][value]=^STduPC$
il faut ensuite demander pour récupérer le N° de série de chaque moniteur : ( le N° de série renvoyé dans l'appel ci dessus est celui du PC)
.../apirest.php/Monitor/$ID
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Je crois malheureusement qu'il y a une erreur :'(
La requête :
.../apirest.php/search/Monitor/?is_deleted=0&as_map=0&criteria[0][link]=AND&criteria[0][itemtype]=Computer&criteria[0][meta]=1&criteria[0][field]=5&criteria[0][searchtype]=contains&criteria[0][value]=^STduPC$
Ne me renvoie pas l'id du moniteur, mais me renvoie d'autres data :
(example)
{
"totalcount": 1,
"count": 1,
"sort": "1",
"order": "ASC",
"data": [
{
"1": "Model",
"31": null,
"23": "Marque",
"3": "LILLE > Collaborateur",
"4": null,
"40": "Nom de l'écran",
"19": "2024-01-08 16:29:56",
"7": null,
"5": "STduPC"
}
],
"content-range": "0-0/1"
}
Offline
ajoutez "&forcedisplay[0]=2" en fin de requête pour forcer le retour de ID
.../apirest.php/search/Monitor/?is_deleted=0&as_map=0&criteria[0][link]=AND&criteria[0][itemtype]=Computer&criteria[0][meta]=1&criteria[0][field]=5&criteria[0][searchtype]=contains&criteria[0][value]=^STduPC$&forcedisplay[0]=2
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Bonjour a vous,
Merci énormément pour votre assistance j'ai su avancer et développer mon projet.
Mais maintenant j'aimerais pouvoir forcer l'ajout d'un écran. Sauriez vous quelle requête pourrais-je effectuer pour créer un nouveau écran dans GLPI avec son ST = STdeEcran et l'ajouter au connexion du poste dont le ST = STduPC ?
Merci d'avance pour votre temps et votre assistance
Offline
pour creer un écran
utilisez la methode POST
vous pouvez retirer quelques lignes
$url="...apirest.php/Monitor/";
$payload="{"input":
{"is_recursive":0,
"entities_id":2,
"name": "MonEcran",
"contact":"MonContact",
"contact_num":null,
"users_id_tech":0,
"groups_id_tech":0,
"comment":"demo creation par API",
"serial":"MonTS",
"otherserial":null,
"size":"0.00",
"have_micro":0,
"have_speaker":0,
"have_subd":0,
"have_bnc":0,
"have_dvi":0,
"have_pivot":0,
"have_hdmi":0,
"have_displayport":0,
"locations_id":0,
"monitortypes_id":0,
"monitormodels_id":0,
"manufacturers_id":2144,
"is_global":0,
"is_deleted":0,
"is_template":0,
"template_name":null,
"users_id":4136,
"groups_id":0,
"states_id":1,
"ticket_tco":"0.0000",
"is_dynamic":0
}}";
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
pour creer un lien entre un computer et monitor
utilisez la methode POST
$url="/Computer_Item/";
$payload='{"input":
{"is_deleted":0,
"is_dynamic":0,
"computers_id": 11801,
"itemtype":"Monitor",
"items_id":10969
}}';
items_id etant l'id du moniteur, vous l'aurez deviné...
Trouver la panne avant de réparer...
GLPI10.0.16 (ubuntu 22.04 PHP8.1 Mariadb10.6 ) plugins : comportements 2.7.3 reports 1.16.0 formcreator 2.13.9, datainjection 2.13.5 fields 1.21.9
Offline
Pages: 1