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-01-09 13:24:33

ec2311
Member
Registered: 2016-04-07
Posts: 307

APIREST - Mise à Jour Operating System d'un ordinateur

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

#2 2020-12-02 14:42:20

ec2311
Member
Registered: 2016-04-07
Posts: 307

Re: APIREST - Mise à Jour Operating System d'un ordinateur

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

#3 2020-12-02 15:45:14

ec2311
Member
Registered: 2016-04-07
Posts: 307

Re: APIREST - Mise à Jour Operating System d'un ordinateur

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

Board footer

Powered by FluxBB