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 2024-01-15 10:43:58

leguman87
Member
Registered: 2022-06-09
Posts: 25

Gabarits de taches et résolution automatique d'un ticket

Bonjour,

Sur certains tickets, des gabarits de tâches sont ajoutés automatiquement en fonction de la catégorie du ticket. Ces tâches sont affectées à des groupes de techniciens. Lorsque l'action est fait par le groupe désigné, il coche la tache sur le ticket. Est-il possible de clôturer automatiquement le ticket lorsque toutes les taches ont été faites (cochées) svp ?

Offline

#2 2024-01-22 13:23:04

leguman87
Member
Registered: 2022-06-09
Posts: 25

Re: Gabarits de taches et résolution automatique d'un ticket

Bonjour,

Quelqu'un aurait la réponse à cette question svp ?

Offline

#3 2024-08-29 15:20:49

shamadache
Member
Registered: 2016-05-03
Posts: 46

Re: Gabarits de taches et résolution automatique d'un ticket

Bonjour,

Je serais également intéressé par cette fonctionnalité
Merci

Offline

#4 2024-08-29 15:26:14

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

Re: Gabarits de taches et résolution automatique d'un ticket

je ne connais pas de tels workflows nativement dans GLPI.

si je devais le mettre en place, j'ecrirais un script qui récupèrerait par l'API tous ces tickets non clos associé au gabarit, qui vérifierait le statut des tâche et si aucune tâche n'est à faire  et ajouterait une solution  et j'utiliserais le cron du serveur pour lancer ce script régulièrement.


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

#5 2024-11-14 17:54:52

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Bonjour,

Très intéressé aussi par cette fonctionnalité, quelqu'un aurait-il trouvé une solution ?

Merci !

Offline

#6 2024-11-15 11:08:17

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

Re: Gabarits de taches et résolution automatique d'un ticket

vous pouvez lancer ce type de script avec un cron pour automatiser la résolution de tous les tickets non résolus de la catégorie choisie qui ont  au moins une tâche et dont toutes les tâches sont faites.
créez un utilisateur "API" avec un profil qui a le droit d'ajouter une solution à tous les tickets.
attention aux droits sur les entités et sous entités.
mettez à jour les variables en début de code

/!\  N'oubliez pas de tester avant de mettre en prod ....  /!\

<?php
***resolution des tickets de la catégorie avec toutes les taches au statut fait;
function initglobals(){
	
	$_SESSION['app_token']="monapptocken";
	$_SESSION['api_url']="monGLPI/apirest.php";
	$_SESSION['myuser_token']="mon token";
	$_SESSION['mycategory']="le id de la catégorie";
}

function getfullsession(){
		$ch = curl_init();
		$url=$_SESSION['api_url'] ."/getFullSession/";
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_HTTPHEADER,  $_SESSION['headers']);
		$json = curl_exec($ch);
		curl_close ($ch);
		$obj = json_decode($json,true);
		$_SESSION["glpi_user_id"]=$obj['session']['glpiID'];
		$_SESSION["utilisateur"]=$obj['session']['glpifirstname']." ".$obj['session']['glpirealname'];
		print_r($json);
		return $obj;
		}
						
function LoginByToken($myusertoken) {

		$url=$_SESSION['api_url'] ."/initSession/";
		$headers = array(
				('Content-Type: application/json'),
				('App-token: ' . $_SESSION['app_token']),
				('Authorization: user_token '.$myusertoken)
				);
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		$json = curl_exec($ch); 
		curl_close ($ch); 
		$obj = json_decode($json,true); 
		curl_close ($ch);
		print_r($json);
		$sess_token = $obj['session_token'];
		$headers = array(
			'Content-Type: application/json',
			'App-Token: ' . $_SESSION['app_token'],
			'Session-Token: '.$sess_token
		);
		$_SESSION['valid'] = true;
		$_SESSION['timeout'] = time();
		$_SESSION['headers']=$headers;
		$_SESSION['sess_token']=$sess_token;
		$_SESSION['glpisessionid']=$sess_token;
		$dummy=getfullsession();
		return $sess_token;
}
function glpi_get($itemtype,$debugmode=false){
	$url=$_SESSION['api_url'] .$itemtype;
	if($debugmode){
		echo "<br/>*** url***<br/>".$url."<br/>";	
		}
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_HTTPHEADER, $_SESSION['headers']);
		$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;				
}
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;
}

$dummy=initglobals();
$dummy=LoginByToken($_SESSION['myuser_token']);	

//echo "mon token de session ".$_SESSION['sess_token'];
//echo "mon nom ".$_SESSION['utilisateur']; 


$url="/search/Ticket/?is_deleted=0&as_map=0&browse=0&criteria[0][link]=AND&criteria[0][field]=12&criteria[0][searchtype]=equals&criteria[0][value]=notold&criteria[2][link]=AND&criteria[2][field]=7&criteria[2][searchtype]=equals&criteria[2][value]=".$_SESSION['mycategory']."&criteria[3][link]=AND&criteria[3][field]=33&criteria[3][searchtype]=equals&criteria[3][value]=2&sort[]=19&order[]=DESC";
$obj=glpi_get($url);
foreach($obj['data'] as $ticket)
{	$url="/Ticket/".$ticket[2]."/TicketTask";
	$obj=glpi_get($url);
	$nbfait=0;
	$nbafaire=0;
	foreach($obj as $task){
		switch ($task['state']) {
    			case 2:
        			$nbfait++;
        			break;
    			case 1:
        			$nbafaire++;
        		break;
		}
	}

	//echo "<br/>Ticket: $ticketid; taches a faire : $nbafaire fait $nbfait ";
	if (($nbfait>0) & ($nbafaire==0)){
	//echo "ticket à cloturer";
	$url="/ITILSolution/";
	$json='{"input":
			{"itemtype":"Ticket",
			"items_id":"'.$ticket[2].'",
			"solutiontypes_id":2,
			"solutiontype_name":null,
			"content":"MySolutionDescription",
			"status":1
		}}';

		$obj=glpi_post($url,$json);
	}
}
$obj=glpi_get("/killSession/");
//echo "fin";
?>

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

#7 2024-11-15 17:00:56

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Bonjour LaDenrée !

Merci infiniment pour ce script, mais je bute sur une erreur d'interprétation de votre code avec ma version de PHP 8.1 :

PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 43
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 20
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 20
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 21
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 21
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 21
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 21
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 117
PHP Warning:  foreach() argument must be of type array|object, null given in /home/info/script_ticket_task_close.php on line 117

Merci!

Last edited by bfde974 (2024-11-15 17:01:24)

Offline

#8 2024-11-15 17:07:20

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

Re: Gabarits de taches et résolution automatique d'un ticket

essayez de décommenter les lignes  :
//echo "mon token de session ".$_SESSION['sess_token'];
//echo "mon nom ".$_SESSION['utilisateur'];

et regardez si les variables de session sont initialisées, je pense que non.
avez vous bien initialisé les variables avec  le bon app_token ?
avez vous créé dans GLPI un client pour l'API avec l'ip de la machine qui appelle votre api ?

sans le jeton de session, aucun des appels ne fonctionne ce qui génère tous les autres messages.


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

#9 2024-11-15 17:34:21

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Ça semble effectivement être un problème d'initialisation des variables :

En décommentant les 2 lignes suggérées :

PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 43
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 20
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 20
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 21
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 21
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 21
PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 21
mon token de session mon nom  PHP Warning:  Trying to access array offset on value of type null in /home/info/script_ticket_task_close.php on line 117
PHP Warning:  foreach() argument must be of type array|object, null given in /home/info/script_ticket_task_close.php on line 117

J'ai regénéré mon app token pour être sûr, idem.

Peut-être une erreur de formatage dans les variables :

function initglobals(){
   
    $_SESSION['app_token']="mon localhost app token";
    $_SESSION['api_url']="https://mon serveur glpi/apirest.php/";
    $_SESSION['myuser_token']="mon user token";
    $_SESSION['mycategory']="8";

J'ai testé une connexion à l'API via URL et je me connecte bien :

https://mon serveur glpi/apirest.php/initSession?Content-Type=application/json&app_token=mon app token&user_token=mon token user

Je vérifie à nouveau...

Merci!

Offline

#10 2024-11-15 17:46:06

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

Re: Gabarits de taches et résolution automatique d'un ticket

attention :  votre test utilise l'IP de votre navigateur,  le script est probablement sur un serveur web qui a une autre IP donc un autre apptoken


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

#11 2024-11-15 18:16:44

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Oui j'ai bien fait attention à cela, j'utilise bien le app_token localhost de mon serveur, à partir duquel je lance le script.

Je teste une connexion en ligne de commande à partir de mon serveur avec CURL pour comprendre ce qu'il se passe...

Merci!

Offline

#12 2024-11-15 19:02:11

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Bon la commande CURL me donne une erreur app_token invalid, malgré toutes les tentatives et configurations possibles.

Par contre, j'ai testé avec un autre serveur (DEV) GLPI, en version 10.0.16, et oh surprise .. La commande CURL fonctionne instantanément et j'ai une connexion locale.

Cependant même erreur avec votre script, pas de connexion.

Merci !

Last edited by bfde974 (2024-11-15 19:33:28)

Offline

#13 2024-11-15 19:18:52

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Petite précision : j'utilise un certificat ssl auto signé sur mes 2 serveurs GLPI, donc j'ai lancé mes tests CURL avec l'option -k, autrement j'ai un message d'erreur.

Ça pourrait peut-être expliquer pourquoi la connexion ne s'initialise pas avec votre script ?

J'ai trouvé cette option :

To turn off the verification of the SSL certificate for your cURL, add below line to your request:
curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, false);

Est-ce que ça pourrait aider ?

Merci !

Last edited by bfde974 (2024-11-15 19:33:50)

Offline

#14 2024-11-15 20:04:35

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Ça avance ..

J'ai ajouté cette ligne dans votre script pour les chaînes de connexion à l'API :

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false)

Le script se lance bien, j'analyse maintenant les résultats.

Offline

#15 2024-11-15 20:20:02

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Ça y est c'est maintenant 100% fonctionnel !

Il me restait à corriger quelques erreurs comme le FQDN de mon serveur prod dans les configs de l'API et dans le script, le tout avec la version GLPI 10.0.17.

Lancement du script manuellement, le ticket contenant les tâches avec le statut "FAIT" est bien fermé, mission accomplie ! Il me reste juste à ajouter le script dans mon cron.

Un gros bravo et surtout merci à LaDenrée ..!

Offline

#16 2024-11-16 19:00:11

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Dernier petit détail :

Le champ "content":"MySolutionDescription", à la fin de votre code, n'autorise pas les accents (é ou à par ex). J'ai essayé quelques conversion Unicode mais sans succès, le code s'exécute mais ne met pas à jour le champ "content" si il y a des accents.

Une idée ?

Merci !

Offline

#17 2024-11-18 09:33:51

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

Re: Gabarits de taches et résolution automatique d'un ticket

j'utilise les entités html :

J&apos;ai ajout&eacute; une solution &agrave; mon ticket

en voici la liste : https://alexandre.alapetite.fr/doc-alex … ecial.html


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

#18 2024-11-18 17:39:42

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Excellent ! Merci ..

Offline

#19 2024-11-19 23:01:14

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Tests du code ces derniers jours en production, tout est fonctionnel.

Est-ce que votre code autoriserait plusieurs catégories ?

Ex :

$_SESSION['mycategory']="cat1";"cat2" ...etc

Merci !

Offline

#20 2024-11-20 09:18:11

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

Re: Gabarits de taches et résolution automatique d'un ticket

je déclarerais mes id de catégorie sous forme de tableau, et je ferais une boucle pour chaque élément du tableau
changements :
$_SESSION['mycategories']=[cat_ID1,Cat_IDi,...Cat_IDn];
...
foreach($_SESSION['mycategories'] as $category_id){
$url="/search/Ticket/?is_deleted=0&as_map=0&browse=0&criteria[0][link]=AND&criteria[0][field]=12&criteria[0][searchtype]=equals&criteria[0][value]=notold&criteria[2][link]=AND&criteria[2][field]=7&criteria[2][searchtype]=equals&criteria[2][value]=".$category_id."&criteria[3][link]=AND&criteria[3][field]=33&criteria[3][searchtype]=equals&criteria[3][value]=2&sort[]=19&order[]=DESC";

.....

}





<?php
***resolution des tickets de la catégorie avec toutes les taches au statut fait;
function initglobals(){
	
	$_SESSION['app_token']="monapptocken";
	$_SESSION['api_url']="monGLPI/apirest.php";
	$_SESSION['myuser_token']="mon token";
	$_SESSION['mycategories']=[cat_ID1,Cat_IDi,...Cat_IDn];
}

function getfullsession(){
		$ch = curl_init();
		$url=$_SESSION['api_url'] ."/getFullSession/";
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_HTTPHEADER,  $_SESSION['headers']);
		$json = curl_exec($ch);
		curl_close ($ch);
		$obj = json_decode($json,true);
		$_SESSION["glpi_user_id"]=$obj['session']['glpiID'];
		$_SESSION["utilisateur"]=$obj['session']['glpifirstname']." ".$obj['session']['glpirealname'];
		print_r($json);
		return $obj;
		}
						
function LoginByToken($myusertoken) {

		$url=$_SESSION['api_url'] ."/initSession/";
		$headers = array(
				('Content-Type: application/json'),
				('App-token: ' . $_SESSION['app_token']),
				('Authorization: user_token '.$myusertoken)
				);
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		$json = curl_exec($ch); 
		curl_close ($ch); 
		$obj = json_decode($json,true); 
		curl_close ($ch);
		print_r($json);
		$sess_token = $obj['session_token'];
		$headers = array(
			'Content-Type: application/json',
			'App-Token: ' . $_SESSION['app_token'],
			'Session-Token: '.$sess_token
		);
		$_SESSION['valid'] = true;
		$_SESSION['timeout'] = time();
		$_SESSION['headers']=$headers;
		$_SESSION['sess_token']=$sess_token;
		$_SESSION['glpisessionid']=$sess_token;
		$dummy=getfullsession();
		return $sess_token;
}
function glpi_get($itemtype,$debugmode=false){
	$url=$_SESSION['api_url'] .$itemtype;
	if($debugmode){
		echo "<br/>*** url***<br/>".$url."<br/>";	
		}
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_HTTPHEADER, $_SESSION['headers']);
		$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;				
}
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;
}

$dummy=initglobals();
$dummy=LoginByToken($_SESSION['myuser_token']);	

//echo "mon token de session ".$_SESSION['sess_token'];
//echo "mon nom ".$_SESSION['utilisateur']; 

foreach($_SESSION['mycategories'] as $category_id){
$url="/search/Ticket/?is_deleted=0&as_map=0&browse=0&criteria[0][link]=AND&criteria[0][field]=12&criteria[0][searchtype]=equals&criteria[0][value]=notold&criteria[2][link]=AND&criteria[2][field]=7&criteria[2][searchtype]=equals&criteria[2][value]=".$category_id."&criteria[3][link]=AND&criteria[3][field]=33&criteria[3][searchtype]=equals&criteria[3][value]=2&sort[]=19&order[]=DESC";
$obj=glpi_get($url);
foreach($obj['data'] as $ticket)
{	$url="/Ticket/".$ticket[2]."/TicketTask";
	$obj=glpi_get($url);
	$nbfait=0;
	$nbafaire=0;
	foreach($obj as $task){
		switch ($task['state']) {
    			case 2:
        			$nbfait++;
        			break;
    			case 1:
        			$nbafaire++;
        		break;
		}//fin switch
	}//fin boucle tâche

	//echo "<br/>Ticket: $ticketid; taches a faire : $nbafaire fait $nbfait ";
	if (($nbfait>0) & ($nbafaire==0)){
	//echo "ticket à cloturer";
	$url="/ITILSolution/";
	$json='{"input":
			{"itemtype":"Ticket",
			"items_id":"'.$ticket[2].'",
			"solutiontypes_id":2,
			"solutiontype_name":null,
			"content":"MySolutionDescription",
			"status":1
		}}';

		$obj=glpi_post($url,$json);
	}//fin resolution ticket si critere OK
}//fin boucle ticket
}//fin boucle categories
$obj=glpi_get("/killSession/");
//echo "fin";
?>

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

#21 2024-11-20 14:58:55

bfde974
Member
Registered: 2024-11-14
Posts: 14

Re: Gabarits de taches et résolution automatique d'un ticket

Pleinement fonctionnel, c'est formidable, merci ..!

Offline

Board footer

Powered by FluxBB