You are not logged in.
Bonjour,
Est-il possible de mettre à jour l'os d'un ordinateur via l'API ?
Le fichier entrée (CSV) possède :
- Nom ordinateur
- OS
- OS Version
Si oui, comment fait-on ? ou quelle solution serait envisageable ?
Merci
GLPI 10.0.10
GLPIinventory 1.3.4
Agents : FI (2.6, 2.5) et Glpiagents (1.7)
Offline
Bonjour
J'arrive à creer l'ordinateur en API :ok
sur la meme page, j'essaie de creer l'os associé à l'ordinateur...
Voici les lignes extraites avec la partie concernée :
echo "OS step:";
$ch = curl_init();
$fields = '{"input": {"items_id":".$computer_id.","itemtype":"Computer", "entities_id":0,"operatingsystems_id":"41"}}';
curl_setopt($ch, CURLOPT_URL, "/apirest.php/Item_OperatingSystem/".$computer_id);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Session-Token: '.$sess_token) );
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$request_result = curl_exec($ch);
print_r($request_result);
curl_close ($ch);
$obj = json_decode($request_result,true);
$OS_id=$obj['id'];
echo "<br/>$OS_id<br/>";
Or à la fin sur l'ecran je vois ceci :
OS step:["ERROR_GLPI_ADD","Column 'entities_id' cannot be null"]
Pourquoi cette erreur sur entities_id , alors que la variable fait partie de la sequence ?
Initialement, je ne l'avais pas spécifiée...
Meme avec entities_id = 1 -> Meme erreur...
Merci
GLPI 10.0.10
GLPIinventory 1.3.4
Agents : FI (2.6, 2.5) et Glpiagents (1.7)
Offline
J'ai trouvé
je mets la solution ci-dessous
-> attention aux guillemets (concatenation de variable etc)
-> attention syntaxe URL
echo "OS step:";
$ch = curl_init();
$os=41;
$fields = '{"input": {"items_id":"'.$computer_id.'","itemtype":"Computer","operatingsystems_id":"'.$os.'"}}';
echo "<br/>$fields<br/>";
curl_setopt($ch, CURLOPT_URL, "/apirest.php/computer/".$computer_id."/Item_OperatingSystem/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Session-Token: '.$sess_token) );
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$request_result = curl_exec($ch);
print_r($request_result);
curl_close ($ch);
$obj = json_decode($request_result,true);
$OS_id=$obj['id'];
echo "<br/>$OS_id<br/>";
GLPI 10.0.10
GLPIinventory 1.3.4
Agents : FI (2.6, 2.5) et Glpiagents (1.7)
Offline