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 2020-06-24 12:42:54

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Import de ticket

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

#2 2020-06-24 15:32:53

mecmav
Member
From: Brasil
Registered: 2019-03-22
Posts: 326

Re: Import de ticket

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

#3 2020-06-24 15:36:14

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Import de ticket

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

#4 2020-06-24 15:45:19

mecmav
Member
From: Brasil
Registered: 2019-03-22
Posts: 326

Re: Import de ticket

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

#5 2020-06-24 15:49:25

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Import de ticket

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

#6 2020-06-24 16:02:57

mecmav
Member
From: Brasil
Registered: 2019-03-22
Posts: 326

Re: Import de ticket

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

#7 2020-06-24 16:12:37

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

Re: Import de ticket

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

#8 2020-06-24 16:36:30

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Import de ticket

LaDenrée wrote:

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

#9 2020-06-24 16:40:03

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Import de ticket

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

#10 2020-06-24 17:22:19

mecmav
Member
From: Brasil
Registered: 2019-03-22
Posts: 326

Re: Import de ticket

I've get this error when the ticket is closed. Nothing can be changed in ticket, when the status = "closed"

Offline

#11 2020-06-24 17:23:43

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

Re: Import de ticket

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

#12 2020-06-24 21:41:00

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

Re: Import de ticket

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

#13 2020-06-25 11:34:28

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Import de ticket

Merci beaucoup!
Ca va être très utile :-)

Offline

#14 2020-06-25 11:38:44

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Import de ticket

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

#15 2020-06-25 12:08:08

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

Re: Import de ticket

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

#16 2020-06-25 12:11:02

Jean-Christophe
Moderator
Registered: 2007-08-22
Posts: 734

Re: Import de ticket

LaDenrée wrote:

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

Board footer

Powered by FluxBB