JSONRPC - Einfügen neuer Objekte in die CMDB
-
Hallo allerseits!
Ich versuche mittels der JSONRPC-Schnittstelle von i-doit neue Objekte in die CMDB einzufügen. Insgesamt klappt das auch sehr gut, jedoch habe ich bei den meisten Objekttypen ein Problem. Wenn ich z. B. eine CPU (C__CATG__CPU) anlegen möchte, benötige ich für das Feld "Hersteller" eine ID (isys_catg_cpu_manufacturer). Meine Fragen lauten nun:
1. Wie kann ich mittels JSONRPC solche IDs abfragen?
2. Wie kann ich einen neuen CPU-Hersteller per JSONRPC anlegen?Ich habe die aktuelle JSONRPC-Doku von i-doit (Version 1.3) bereits vor mir liegen, konnte mir diese Frage aber leider nicht selbst beantworten.
Ich bedanke mir schon im vorraus für alle Bemühungen, Hilfen und Tips.
Mit freundlichen Grüßen
F. Weidinger
-
Hallo,
zu allererst auch hier einmal kurz, wie auch in einem anderen Thread bereits angekündigt (http://forum.i-doit.org/index.php/topic,3381.0.html), die Info: In einem öffentlichen Bitbucket Repository (https://bitbucket.org/dstuecken/i-doit-api-clients) gitb es einen PHP Client für unsere Api. Hier kann man sich entweder abfragen abgucken, oder diesen einfach nutzen.
Nun zu den Fragen:
- Die IDs können über die Methode cmdb.dialog.read abgefragt werden. Diese Funktion ist zwar seit 1.3 grundsätzlich drin, aber bis dato noch undokumentiert gewesen. Hier ein Beispiel zur Abfrage:
call('cmdb.dialog.read', array(
'apikey' => '1234567890',
'category' => 'C__CATG__GLOBAL',
'property' => 'cmdb_status'
));Wobei 'category' die Konstante der Kategorie in welcher sich das Feld befindet ist (in dem Fall C__CATG__CPU), und property der key des Dialog Feldes welches abgefragt werden soll (hier manufacturer).
- Anlegen sollte so gehen
call('cmdb.dialog.create', array(
'apikey' => '1234567890',
'category' => 'C__CATG__CPU',
'property' => 'manufacturer',
'value' => 'Neuer Wert'
));Grüße
ds