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

    Felder eines Objekts (Client) ändern

    Scheduled Pinned Locked Moved Entwicklung
    3 Posts 2 Posters 196 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.
    • F Offline
      Franky779
      last edited by Franky779

      Hallo zusammen,

      ich lege per API ein neues Objekt vom Typ Client an. Hier kann ich Basisdaten mittels cmdb.object.create übermitteln. Als Return bekomme ich die ID aus iDoIt. Anhand dieser ID versuche ich im Nachgang das Element weiter mit Informationen anzureichern. Vor allem aus dem Bereich C__CATG__MODEL sprich Hersteller, Seriennummer etc.

      9889abb4-4812-4251-aa9c-e742055b3fb4-image.png

      1. Objekt mit Basisdaten erstellen

              ### Create object if not single request
              params = {
                  "type": "C__OBJTYPE__CLIENT",
                  "title": "Device from API",
                  "category": 2,
                  "cmdb_status": 1,
                  "description": "Client created from Jamf via API"
              }
      
              jsondata = objIdoit.getJsonData(method='cmdb.object.create', params=params)
      

      2. Datensatz im Nachgang anreichern

          #Update device
          params = {
              "id": 12345,
              "title": "Ein neuer fancy Devicename",
              "category": "C__CATG__MODEL",
              "data": {
                  "manufacturer":13,
                  "serial": "12345678",
              }        
          }  
       
          jsondata = objIdoit.getJsonData(method='cmdb.object.update', params=params)
      

      so gehts leider auch nicht

          #Update device
          params = {
              "id": 12345,
              "title": "Ein neuer fancy Devicename",
              "C__CATG__MODEL":{        
                  "manufacturer":13,
                  "serial": "12345678",
              }        
          }  
       
          jsondata = objIdoit.getJsonData(method='cmdb.object.update', params=params)
      

      3. Am Ende noch einen Contact zuweisen (so weit bin ich aber noch nicht)

      Leider klappt Schritt 2 nicht....da passt meine Schreibweise der Daten nicht. Es gibt aber auch nirgends ne gscheide (!) Doku/Anleitung für sowas 😞

      Jemand ne IDee?

      Vg Frank

      1 Reply Last reply Reply Quote 0
      • F Offline
        Franky779
        last edited by Franky779

        Hab ne Lösung....man muss mal wieder eine ganz andere Funktion, nämlich cmdb.category.savem verwenden....

            params = {
                "object": 123456,
                "category": "C__CATG__MODEL",
                "data":{      
                    "manufacturer":13,
                    "serial": "12345dddd678",
                }        
            } 
         
            jsondata = objIdoit.getJsonData(method='cmdb.category.save', params=params)```
        
        Und auch hier kann man nur einen einzelnen BEreich bearbeiten. Sprich wenn man dann noch was in GLOBAL ändern will, muss man noch mal ne Abfrage schießen.
        1 Reply Last reply Reply Quote 0
        • Michael HuhnM Offline
          Michael Huhn
          last edited by

          undefined @Franky779

          ich denke dir sollten die Infos aus der Knowledge Base helfen.
          -> https://kb.i-doit.com/en/i-doit-pro-add-ons/api/methods/index.html

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