Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    JSONRPC - Einfügen neuer Objekte in die CMDB

    Scheduled Pinned Locked Moved Allgemein
    2 Posts 2 Posters 1.5k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K Offline
      Kirk
      last edited by

      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

      1 Reply Last reply Reply Quote 0
      • dsD Offline
        ds
        last edited by

        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:

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

        1. Anlegen sollte so gehen

        call('cmdb.dialog.create', array(
            'apikey'    => '1234567890',
            'category' => 'C__CATG__CPU',
            'property' => 'manufacturer',
            'value' => 'Neuer Wert'
        ));

        Grüße
        ds

        1 Reply Last reply Reply Quote 0
        • First post
          Last post