Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login
    1. Home
    2. Franky779
    F
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 8
    • Groups 0

    Franky779

    @Franky779

    0
    Reputation
    2
    Profile views
    8
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    Franky779 Unfollow Follow

    Latest posts made by Franky779

    • RE: Felder eines Objekts (Client) ändern

      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.
      posted in Entwicklung
      F
      Franky779
    • Felder eines Objekts (Client) ändern

      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

      posted in Entwicklung
      F
      Franky779
    • RE: Contact Deatails per API Abfragen

      OK, mit SEHR viel rumprobieren komme ich dorthin wo ich will. Wer das noch braucht. Hier meine Abfrage.

                          params = { 
                              "id": 12345,
                              "categories": ["C__CATS__PERSON"],
                              "filter": {
                                  "type": 53,
                                  "ids":[12345]
                              },                         
                          }       
                          contactDetails = objIdoit.getJsonData(method='cmdb.objects.read', params=params)  
      

      id = Contact ID in idoit
      categories C__CATS__PERSON = die erweiterten Infos zum Kontakt inkl. Custom Fields
      type 53 = Personen

      posted in Entwicklung
      F
      Franky779
    • RE: Contact Deatails per API Abfragen

      Hier sind genau die Felder die ich brauche. Aber mit welcher Methode frage man auf "C__CATS__PERSON"??

      https://kb.i-doit.com/en/i-doit-pro-add-ons/api/category-fields-for-data-arrays.html#persons-c__cats__person

      posted in Entwicklung
      F
      Franky779
    • Contact Deatails per API Abfragen

      Hallo zusammen,

      wir haben unsere Contacts in i-DoIt via LDAP angelegt. Hier befüllen wir Custom Fields wie Durchwahl...Jobtitel etc. Diese Felder würde ich gerne über die API auslesen.

      72bc1c67-bbac-4269-9f1a-516ea234081f-image.png

      Leider liefert mir die Abfrage auf Contact nur ganz rudimentär Daten.

                          params = {
                                          "id": 12345
                                      }       
                                      contactDetails = objIdoit.getJsonData(method='cmdb.object.read', params=params)
      

      Laut Doku gibts hier ein Contact-Objekt...das liefert aber nur mit dem Contact relevante Geräte....ich brauche aber die Contactdetails.

      Welchen Befehl verwende ich am besten um die vollen Contact Daten zu bekommen?

      VG Frank

      posted in Entwicklung
      F
      Franky779
    • RE: Benutzer zu Client auslesen - API

      @LFischer

      Danke. Der Benutzer hat auf jeden Fall "Administrator und primary"

      Die Abfrage mit C__RELATION_TYPE__ADMIN liefert kein Ergebnis. C__RELATION_TYPE__USER mir brav den Contact.

      59f6a2cc-1cf3-499f-91cd-1903c1be5560-image.png

      posted in Entwicklung
      F
      Franky779
    • RE: Benutzer zu Client auslesen - API

      Danke für die Rückmeldung Ich habe es zwischenzeitlich gelöst. Man muss es mit einer anderen Funktion (cmdb.objects_by_relation.read) abfragen

                  ##Contacts abfragen
                  params = {
                      "type": "C__OBJTYPE__CONTACT",
                      "direction": "down",
                      "relation_type": 5,
                      "status": 2,
                      "id": 12345
                  }  
      contactdata = objIdoit.getJsonData(method='cmdb.objects_by_relation.read', params=params) 
      

      Status 2 ist ein normaler aktiver Contact
      relation_type 5 ist eine Person. relation_type 4 für Admins geht leider nicht, obwohl ich dort als Admin eingetragen bin.
      https://kb.i-doit.com/en/i-doit-pro-add-ons/api/methods/cmdb.objects_by_relation.html#__tabbed_1_3

      posted in Entwicklung
      F
      Franky779
    • Benutzer zu Client auslesen - API

      Hallo zusammen,

      ich versuche gerade über die API Daten zu einem Client auszulesen. Für den Client selbst klappt das über die Seriennummer schon ganz gut mit idoit.search.

                  params = {
                      "q": 12345
                  }
      
                  jsondata = objIdoit.getJsonData(method='idoit.search', params=params)
      

      Ich bräuchte jetzt noch den zugehörigen Contact des GEräts. Leider ist es im Netz sehr schwer gute Informationen zur iDoIt Api zu finden. Deshalb habe ich mal den Kollegen ChatGPT gefragt und der liefert mir eine Query die eigentlich ganz gut aussieht. Hier werden offensichtlich die Kontakte von einem Objekt geholt. Leider schlägt die Sache mit Fehler 500 fehl.

                  ##Contacts abfragen
                  params = {
                      "q": {
                          "C__OBJREL__CONTACT": {
                              "ref_id": 12345,
                              "direction": "down"
                          }
                      }
                  }
                  
                  
                  jsondata = objIdoit.getJsonData(method='idoit.search', params=params)
      

      getJsonData() ]:Request did not succeed, Status: 500'

      Hat hier wer ne Idee wo es klemmt oder hat vielleicht einen Snipped für mich womit ich dem Objekt zugehörigen Contacts abfragen kann?

      VG Frank

      posted in Entwicklung
      F
      Franky779