• PHP Error: isys_cmdb_dao_list_catg_workflow::make_row_link

    4
    0 Votes
    4 Posts
    218 Views
    MartinVM

    isys_cmdb_dao_list_catg_workflow weist auf das Workflow-AddOn.

  • Massen editierung leert Dialogfeld

    2
    0 Votes
    2 Posts
    185 Views
    Michael HuhnM

    Halo @mijan,

    für die Listeneditierung gibt es für Version 21 einen Bug Report welcher zur Version 22 gelöst wird.

  • GPS-Koordinaten setzen

    4
    0 Votes
    4 Posts
    353 Views
    Michael HuhnM

    Hallo @Chris-1,

    Attribut "gps" ist ein JSON-Objekt mit den Keys "0" und "1", diese werden im Core für Funktionen genutzt.

    Diese Keys entsprechen "latitude" und "longitude".
    Daher ist es nur notwendig "latitude" und "longitude" zu setzen.

    { "method": "cmdb.category.save", "params": { "object": 1122701989, "category": "C__CATG__LOCATION", "data": { "latitude": "51.2277411", "longitude": "6.7734556" }, "apikey": "h3md6u3y" }, "id": 1, "version": "2.0" }
  • PHP REST API verwenden

    1
    0 Votes
    1 Posts
    241 Views
    No one has replied
  • Größe des Dialogfeld "Duplizieren" anpassen

    5
    2 Votes
    5 Posts
    327 Views
    LFischerL

    Hallo @bmader

    ich verstehe - ich schaue mir das mal an... Ich denke es sollte möglich sein den "leeren Platz" einzusparen 😉

    Viele Grüße
    Leo

  • cmdb.objects_by_relation Archivierte Beziehungen herausfiltern

    5
    0 Votes
    5 Posts
    203 Views
    L

    Hi

    Ich denke der Zustand
    (siehe https://kb.i-doit.com/display/de/Lebens-+und+Dokumentationszyklus)
    ist ein so elementares Konzept von i-doit, dass es an vielen Stellen einfach nicht mehr explizit erwähnt wird.

    Du hast dieses Verhalten z.B. auch auch im Report Manager

    Leo

  • Internal Server Error bei Update von C__CATG__VIRTUAL_MACHINE

    5
    0 Votes
    5 Posts
    330 Views
    M

    @LFischer Danke für die Info! Da ich doch recht viel mit der API arbeite und immer wieder kleine Workarounds finden muss, werde ich mir das mit den Entwicklungspartnern mal ansehen.

  • API: Internal Error bei Update von benutzerdefinierter Kategorie

    1
    0 Votes
    1 Posts
    166 Views
    No one has replied
  • API Kontakt Zuweisung

    8
    0 Votes
    8 Posts
    979 Views
    P

    @MartinV
    Das war es tatsächlich, das war mir gar nicht bewusst. Ich dachte ich muss hier alles als String übergeben...

    Danke für deine Hilfe, jetzt kann ich die Zuweisungen korrekt anlegen

  • API - Net zone anlegen - wo ist der Fehler

    2
    0 Votes
    2 Posts
    233 Views
    M

    Ich hab es selbst herausbekommen, hat nur ein paar Tage gedauert.

    { "method": "cmdb.category.save", "params": { "object": 20132, "category": "C__CATS__NET_ZONE", "data": { "zone": "15314", "range_from": "10.100.81.242", "range_to": "10.100.81.244", "description": "Beschreibung" } } }

    Das Attribut heißt "zone", nicht "objID"!

    Mit freundlichem Gruß,
    Mathias

  • API - kompletten Baum eines Objektes auslesen

    6
    0 Votes
    6 Posts
    401 Views
    MartinVM

    @hu: Danke für die Bestätigung, dass die Implementierung auch funktioniert, wenn ich nicht danebenstehe und ein Auge darauf habe 🙂

    Das Projekt ist jetzt auf GitHub: https://github.com/mvorl/i-doit_API

    Ich werde mich natürlich um die Behebung von gemeldeten Fehlern kümmern; darüber hinaus kann ich aber nichts versprechen.

  • API-Suche nach it service relations für Kabel

    5
    0 Votes
    5 Posts
    402 Views
    huH

    @StephanBuerger said in API-Suche nach it service relations für Kabel:

    @hu Was soll der "push nach vorn"?

    Das mag niemand in einem Forum

    ... das ist mir absolut neu bei Foren. Tut mir leid dass Dich das stört. Ich mache dies bereits seit Jahrzehnten so und Du bist der erste der sich beschwert. Falls Du diesbezüglich einen netiquette Hinweis im Netz findest, kannst du ihn gerne posten, ich bin nicht fündig geworden.

    Ich würde mich weiterhin freuen, wenn jemand eine Idee zu meinem Problem hat.

  • Lesen / setzen von Werten in Dropdown Menus via API

    3
    0 Votes
    3 Posts
    233 Views
    U

    @MartinV danke! Damit gehts erstmal weiter 🙂

    Mir ist dabei allerdings aufgefallen das ich die Position im Rack nicht so setzen kann wie es beim auslesen angezeigt wird.

    Z.B. mit:

    'C__CATG__LOCATION': [ { 'pos': { 'visually_from': 32, 'visually_to': 33 } } ]

    Egal was ich versuche, das Gerät wird immer in RU47 also ganz oben eingesetzt.
    Ist das ein Bug oder muß man das anders setzen als es beim auslesen angezeigt wird?

  • Softwarefilterung

    1
    0 Votes
    1 Posts
    159 Views
    No one has replied
  • Event für Archiviert und Gelöscht

    3
    0 Votes
    3 Posts
    246 Views
    P

    Hallo Christian,

    danke das Funktioniert. Die Kombination habe ich übersehen.
    Ich muss im Script auch nur die Objekt-ID auslesen. Das passt.

    Viele Grüße
    Pia

  • Personengruppen-Zuweisung über API

    2
    0 Votes
    2 Posts
    214 Views
    Selcuk KekecS

    Hi @Toberd,

    ich konnte das von dir beschriebene Verhalten nachstellen. Das Problem wurde allem Anschein nach mit der 1.18 aber gelöst.

    Viele Grüße

    Selcuk

  • Multi-Value Kategorie per API updaten

    3
    0 Votes
    3 Posts
    230 Views
    C

    Hallo @Michael-Overkamp,

    ich stehe leider heute vor dem gleichen Problem, wie @schoechm. Ich möchte via API mehrere Einträge in einer benutzerdefinierten Multi-Value Kategorie einfügen. Einen Eintrag bekomme ich ohne Probleme angelegt, aber wie kann ich einen weiteren Eintrag hinzufügen oder gleich mehrere Einträge anlegen.
    Hintergrund ich möchte einen Server mit mehreren Objekten vom benutzerdefinierten Typ Gruppenrichtline verknüpfen.

    Mein API Aufruf, mit einer Verknüpfung sieht dabei wie folgt aus:

    $GPOverknID = OBJID eines bestehenden Objekts

    $body='{
    "method": "cmdb.category.save",
    "params": {
    "language": "de",
    "apikey": "'+$idoitkey+'",
    "category": "C__CATG__CUSTOM_FIELDS_ACTIVE_DIRECTORY",
    "object": '+$hostid+',
    "data": {
    "f_popup_c_1649235770835": {
    "id": '+$GPOverknID+'
    }
    }
    },
    "id": 1,
    "version": "2.0"
    }'

    Was muss ich denn nun tun, um mehr als ein Objekt ($GPOverknID) zu verknüpfen.

    Hier noch die Konfiguration von C__CATG__CUSTOM_FIELDS_ACTIVE_DIRECTORY:
    {
    "c_1649158272287": {
    "type": "f_text",
    "title": "Organizational Unit (OU)",
    "visibility": "readonly",
    "show_in_list": false,
    "show_inline": false
    },
    "c_1649235770835": {
    "type": "f_popup",
    "popup": "browser_object",
    "title": "Verkn\u00fcpfte Gruppenrichtlinien",
    "identifier": "18",
    "multiselection": true,
    "visibility": "visible",
    "show_in_list": false,
    "show_inline": false
    }
    }

    DANKE! schon mal für die Hilfe und ganz viele Grüße
    Christopher Faust

  • Interner Fehler bei nutzung Calls to the API

    2
    0 Votes
    2 Posts
    205 Views
    Selcuk KekecS

    Hallo @juergen-mnich,

    ich vermute, dass du diese Library verwendest, welche aktuell von einem unserer Kollegen gepflegt wird: https://github.com/OKT90/Idoit.API.Client

    Was ich dir lediglich auf Grundlage des StackTraces sagen kann ist folgendes:

    Der Error-Code "-32604" weist auf ein Problem bei der Authentifizierung hin.

    Könntest du bitte sicherstellen, dass die Credentials und auch der API-Key korrekt sind. Eventuell kannst du hierzu den PHP-Client von Benjamin Heisig verwenden oder aber einen simplen HTTP-Client.

    Der PHP-Client ist hier zu finden.

    Viele Grüße

    Selcuk

  • JSON-RPC: Patchpanel Ports anlegen

    2
    0 Votes
    2 Posts
    285 Views
    Michael HuhnM

    Hallo @uhe,

    nachdem ein Anschluss erstellt wurde, muss bei der Erstellung des 2. Anschlusses der Key: connector_sibling verwendet werden.
    Das würde so aussehen.
    Ich erstelle eine Objekt mit Kategoriedaten:

    { "id": 1, "version": "2.0", "method": "cmdb.object.create", "params": { "type": "C__OBJTYPE__PATCH_PANEL", "title": "PatchPanel-1", "categories": { "C__CATG__IP": [ { "ipv4_address": "11.11.0.123", "hostname": "PatchPanel-1", "domain": "", "primary": 1, "ipv4_assignment": 2, "active": 1 } ], "C__CATG__CONNECTOR": [ { "title": "Port-01/01 Eingang", "type": 1, "connection_type": 1, "interface": 1, "description": "My descr" } ] }, "apikey": "h3md6u3y", "language": "en" } }

    Das sieht in der GUI so aus:
    a1e4ebbf-8dc3-47dc-a080-5402fa9291a9-image.png
    So nun erstelle ich den Ausgang, dazu verwende ich die Entry ID vom Eingang als ID für den sibling:

    { "version": "2.0", "method": "cmdb.category.save", "params": { "object": 1122702179, "apikey": "h3md6u3y", "language": "en", "category": "C__CATG__CONNECTOR", "data": { "title": "Port-01/01 Ausgang", "type": 2, "connection_type": 1, "interface": 1, "connector_sibling": 87734, "description": "My descr" } }, "id": 2 }

    Nun wieder in der GUI:
    7cfea40e-d782-4687-93b9-5e9b6b6c9f01-image.png

    Das sollte dir helfen.

  • Tabelle mit Javascript/PrototypeJS parsen.

    2
    0 Votes
    2 Posts
    215 Views
    LFischerL

    Hallo @ulf-wagner

    der Code sieht eigentlich schon sehr gut aus, es fehlt nur eine Kleinigkeit:

    function setLocation(row) { const deviceId = row.down('td[data-property="GeraeteID"] span').textContent.trim(); const locationId = row.down('td[data-property="APStandortID"] span').textContent.trim(); }

    Die erste Änderung: ich verwende down anstatt von select - das ist eine Methode die der bequemlichkeit dient 🙂 select liefert immer ein Array an gefundenen Elementen, down selectiert nur das "zuerst gefundene".

    Ich habe außerdem den Selector angepasst, sodass dieser nun direkt das <span> Element in der Zelle selektiert.

    Die zweite Änderung: wir verwenden textContent um den "text" Inhalt des <span> Elements auszulesen - alternativ könnte man auch sowas nutzen wie innerHTML - das würde allerdings den HTML Link auslesen, probier das mal mit "APStandortID". Das Ergebnis wäre: <a href="/i-doit/?objID=1295">1295</a> ... Aber du möchtest ja vermutlich nur 1295.

    Letzte Änderung: Aus technischen Gründen beinhalten die Spalten immer ein Leerzeichen - durch trim() wird dieses entfernt.

    Um potentiellen JS Fehlern zu entgehen kann der Code auch so geschrieben werden:

    function setLocation(row) { const deviceCell = row.down('td[data-property="GeraeteID"] span'); const locationCell = row.down('td[data-property="APStandortID"] span'); let deviceId = null; let locationId = null; if (deviceCell) { deviceId = deviceCell.textContent.trim(); } if (locationCell) { locationId = locationCell.textContent.trim(); } }

    Das sichert nur ab, das die Selektoren tatsächlich etwas gefunden haben 🙂

    Ich hoffe das hilft weiter!

    Viele Grüße
    Leo