You are not logged in.
Pages: 1
Topic closed
Bonjour,
J'utilise depuis quelque temps l'API de GLPI pour la création de ticket depuis un intranet et j'en suis très content. J'ai néanmoins un souci: lorsque le ticket est créé, le demandeur et le technicien assigné par défaut sont remplis avec l'utilisateur de l'API (dans mon cas, c'est l'utilisateur "Service Informatique"). J'arrive a jouter des demandeurs / Techniciens (avec l'API également) après avoir créé le ticket, mais le demandeur et technicien "Service Informatique" restent quand meme. y'a-t-il un moyen de spécifier le demandeur / technicien dès la création du ticket ? Ou de supprimer le demandeur /technicien initial ?
Ma création est faite comme ceci:
curl_setopt($ch, CURLOPT_URL, "http://glpi/apirest.php/ticket_user/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"input": {
"name": "'.$array_param["name"].'",
"content": "'.$array_param["content"].'",
"actiontime": "'.$array_param["action_time"].'",
"date": "'.$array_param["closedate"].'",
"date_creation": "'.$array_param["solvedate"].'",
"closedate": "'.$array_param["closedate"].'",
"solvedate": "'.$array_param["solvedate"].'",
"itilcategories_id": "'.$array_param["itilcategorie"].'",
"type": "'.$array_param["type"].'",
"status": "'.$array_param["status"].'"
}}'
);
$request_result = curl_exec($ch);
puis l'ajout de demandeur:
curl_setopt($ch, CURLOPT_URL, "http://glpi/apirest.php/ticket_user/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"input": { "tickets_id": '.$request_json['id'].', "users_id": "'.$array_param["demandeur_id"].'", "type": "1", "use_notification": "0" } }');
$request_result = curl_exec($ch);
puis le technicien:
curl_setopt($ch, CURLOPT_URL, "http://glpi/apirest.php/ticket_user/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"input": { "tickets_id": '.$request_json['id'].', "users_id": "'.$array_param["attribue_id"].'", "type": "2", "use_notification": "0" } }');
$request_result = curl_exec($ch);
Merci de vos réponses
Offline
Personne n'a une idée ?
Offline
dans les préférences de l'utilisateur "service informatique" avez vous défini
demandeur par défaut ? technicien par defaut ?
ça peut expliquer les champs préremplis
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 passer le demandeur dans le json de creation du ticket :
"_users_id_requester": $users_id.
je ne comprends pas votre url de creation de ticket ??? curl_setopt($ch, CURLOPT_URL, "http://glpi/apirest.php/ticket_user/");
pour creer un ticket l'url c'est curl_setopt($ch, CURLOPT_URL, "http://glpi/apirest.php/Ticket/");
après pour l'ajout des acteurs OK c'est ticket_User
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
Merci beaucoup pour votre réponse.
Effectivement, pour le demandeur, votre solution fonctionne très bien, c'est parfait.
Pour l'URL de création du ticket, c'est une erreur de copier/coller de ma part, j'utilise bien
curl_setopt($ch, CURLOPT_URL, "http://glpi/apirest.php/Ticket/")
Pour le technicien, d'après votre réponse, je suppose qu'il faudrait que chaque technicien utilise son API pour que cela fonctionne... Pas d'autre solution ?
Encore merci
Offline
pour le technicien à la creation utilisez :
'_users_id_assign'
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 vous remercie, c'est exactement ça.
Par contre, existe-t-il une documentation complete de l'API ? dans celle fournie avec GLPI (http://glpi/apirest.php) je ne trouve par exemple pas le détail des champs possibles lorsque l'on ajoute un ticket... Peut être ai-je loupé quelque chose.
Merci
Offline
pour connaître la liste des 'champs' je fais un get sur l'item pour voir la réponse.
je suis surpris par les paramètres que vous passez dans la creation de ticket : date close date et solve date, statut, sont des champs qui se mettent à jour automatiquement lorsque vous ajoutez une solution au ticket. ou alors vous creez des tickets déjà fermés ?
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 crée des tickets déjà fermés, parfois quelques jours après la date réelle de l'évenement. je passe donc en parametre les date et le statut.
Offline
Pages: 1
Topic closed