You are not logged in.
Pages: 1
Salut,
Je suis en train de chercher comment IMPORTER des tickets (avec des suivis, des solutions parfois refusées, des pièces jointes à certains suivis, etc.)
J'ai une liste de brols à faire rentrer dans la DB et je pense que l'API est le moyen le plus facile.
1. Est-ce que vous confirmez que c'est bien le plus simple?
2. Si oui, auriez-vous des pistes pour l'import ?
Pour le moment, j'arrive à créer un ticket avec les infos de base mais pas encore de suivi (d'aucune sorte).
Ne fut-ce que les quelques mots-clés utiles que je puisse faire une get d'un objet et voir comment il est construit.
Par exemple, j'ai trouvé les ITILFollowup mais je n'ai pas encore trouvé comment on fait le lien avec le ticket...
Si vous avez des bons tuyaux, je suis preneur :-)
Merci pour vos bonnes idées :-)
JC
Offline
Bonjour. Laisse-moi voir si je l'ai.
avez-vous besoin de créer un suivi d'un appel via l'API?
Je comprends que vous pouvez créer un appel depuis l'API mais vous ne pouvez pas insérer de suivi?
Offline
C'est bien ça.
Jusqu'ici, j'arrive à créer le ticket. Je récupère l'ID.
Il ne me reste plus qu'à ajouter les suivis et la solution (parfois, il y a des solutions refusées)
Merci :-)
Offline
Je peux insérer un suivi dans un ticket directement via l'API, sans problème.
Maintenant, je développe une page simple, où l'utilisateur qui ne veut pas (ou ne devrait pas) s'authentifier avec le glpi, peut insérer un accompagnement dans un appel. Pour cela, sur cette simple page, il devra renseigner l'identifiant du ticket, le contenu (description) du suivi et le jeton utilisateur (que vous avez déjà créé pour cet utilisateur).
si vous voulez partager cette idée, je peux essayer de vous aider.
Je pense que j'ai aussi quelque chose de prêt pour pouvoir insérer une solution à l'appel.
Offline
Je voudrais tout faire par script puisque c'est un one shot pour un import.
Il me manque le nom de l'objet et comment lui donner les détails du ticket et du suivi.
Offline
mais je ne comprenais pas comment procéder pour insérer un contenu textuel dans un suivi de ticket via un script.
par programme, vous devez informer la valeur et où elle sera insérée
Offline
pour le suivi (dans les versions récentes de GLPI) l'objet et le lien avec le ticket
/Ticket/".$tickets_id."/ITILFollowup/
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 le suivi (dans les versions récentes de GLPI) l'objet et le lien avec le ticket
/Ticket/".$tickets_id."/ITILFollowup/
Merci, j'essaye ça :-)
Offline
J'essaye avec un truc de base, je spécifie juste le content et la date.
Je reçois un ["ERROR_GLPI_ADD","Vous n'avez pas les droits requis pour réaliser cette action."].
Etrange... Je continue à creuser.
Offline
I've get this error when the ticket is closed. Nothing can be changed in ticket, when the status = "closed"
Offline
vérifiez que votre profil a le droit d'ajouter des suivis sur tous les tickets
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
voici mon code pour ajouter un ticket et un suivi :
1) fonction glpi_post
bien sûr il faut initialiser les variables $_SESSION['headers'] et $_SESSION['api_url']
function glpi_post($itemtype,$fields,$debugmode=false){
$url=$_SESSION['api_url'] .$itemtype;
if($debugmode){
echo "<br/>*** url***<br/>".$url."<br/>***********fields*********<br/>";
print_r($fields);
echo "<br/>";
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $_SESSION['headers']);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$json = curl_exec($ch);
if($debugmode){
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo "<br/>*** httpcode***<br/>";
print_r($httpcode);
echo "<br/>***********json*********<br/>";
print_r($json);
echo "<br/>********************<br/>";
}
curl_close ($ch);
$obj = json_decode($json,true);
return $obj;
}
ma fonction pour creer un ticket et ajouter un suivi :
// creation du ticket;
$url="/Ticket/";
$fields='{"input":
{"entities_id" :"1" ,
"name": "création de ticket par api",
"requesttypes_id": "1" ,
"content" :"ma description de ticket par API",
"urgency": "3",
"impact":"3" ,
"priority": "3",
"itilcategories_id": "1",
"type":"2"}
}';
$obj=glpi_post($url,$fields,$debug=false);
$ticket_id=$obj['id'];
// creation du suivi;
$url="/Ticket/".$ticket_id."/ITILFollowup/";
$fields='{"input":
{"itemtype": "Ticket",
"items_id": "'.$ticket_id.'",
"content": "nouveau suivi",
"is_private": "0"
}}';
$obj=glpi_post($url,$fields,$debug=true);
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!
Ca va être très utile :-)
Offline
Youhouu .. Ca marche :-)
En fait, il me manquait de spécifier dans les détails du suivi que c'est relatif à un ticket et l'ID du ticket. Ce sont des informations qui sont présentes dans l'URL mais il faut les mettre dans le détail quand même...
Il me reste à trouver comment ajouter une pièce jointe à un suivi.
Si tu as ça sous le coude, je suis intéressé. Je vais chercher de mon côté.
Offline
je n'ai pas d'expérience pour l'upload de documents via API. je ne peux rien apporter de plus que ce qui est déjà dans ce forum.
c'est une opération indépendante de l'ajout du suivi.
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 n'ai pas d'expérience pour l'upload de documents via API. je ne peux rien apporter de plus que ce qui est déjà dans ce forum.
c'est une opération indépendante de l'ajout du suivi.
Merci beaucoup :-)
C'est déjà super, j'avance :-)
Offline
Pages: 1