@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.
Posts
-
RE: Internal Server Error bei Update von C__CATG__VIRTUAL_MACHINE
-
API: Internal Error bei Update von benutzerdefinierter Kategorie
Hallo zusammen,
ich möchte via API bei einem Client die benutzerdefinierte Kategorie "GMP" und dort das Feld "GMP Status" (Ja-Nein-Feld) setzen. Das hat bis vor dem Update auf 1.19 bzw. der zugehörigen API-AddOn-Version auch ohne Probleme funktioniert. Seither tritt aber folgender Fehler auf:
{ "id": 1, "jsonrpc": "2.0", "error": { "code": -32603, "message": "Internal error: There was an validation error", "data": { "f_popup_": "(unknown) Property 'f_popup_' is unknown." } } }
Der entsprechende Request:
{ "jsonrpc": "2.0", "method": "cmdb.category.save", "params": { "object": 44350, "data": { "f_dialog_c_1637671777705": "LC__UNIVERSAL__YES" }, "category": "C__CATG__CUSTOM_FIELDS_GMP", "apikey": "xxx", "language": "en" }, "id": 1 }
Ich verstehe nicht, woher dieses "f_popup_"-Ding plötzlich kommt? Irgendwelche Ideen?
Danke!
-
RE: Internal Server Error bei Update von C__CATG__VIRTUAL_MACHINE
Hallo nochmal,
habe den Fehler mittlerweile gefunden - ist ein Bug in der Programmierung der API, der mit einer kleinen Codeänderung behoben werden kann. Kann ich das irgendwo einreichen oder interessiert das eh niemanden?
-
Internal Server Error bei Update von C__CATG__VIRTUAL_MACHINE
Hallo zusammen,
ich möchte via API bei einem Virtuellen Server die Kategorie "Virtuelle Maschine" nutzen und hier zunächst die Option "Virtuelle Maschine" (anstatt "Keine Virtuelle Maschine") setzen:
Dazu nutze ich folgenden API-Aufruf:
{ "jsonrpc": "2.0", "method": "cmdb.category.save", "params": { "object": 73292, "data": { "virtual_machine": 2 }, "category": "C__CATG__VIRTUAL_MACHINE", "apikey": "xxx", "language": "en" }, "id": 1 }
Die "2" bei "virtual_machine" steht dabei für "Ja", "3" würde für "Nein" stehen. Das sind zumindest die Werte, dich ich bekomme, wenn ich das Feld über die GUI setzte und dann per API auslese.
Während der angegebene Aufruf funktioniert, wenn ich anstatt "virtual_machine" ein anderes Feld (z.B. "system" oder "hosts") setze, bekomme ich so immer einen "500 - Internal Server Error" zurück. Das API-Log am Server zeigt dabei keinen Fehler beim Request an. Im Apache-Log scheint allerdings folgender Fehler auf:
[proxy_fcgi:error] [pid 66451] [client x.x.x.x:56170] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TypeError: call_user_func(): Argument #1 ($callback) must be a valid callback, non-static method idoit\\Module\\Api\\Dialog\\DialogAdmin::byCallback() cannot be called statically in /var/www/html/src/classes/modules/api/src/Dialog/AdminBuilder.php:153 Stack trace: #0 /var/www/html/src/classes/modules/api/src/Dialog/AdminBuilder.php(153): call_user_func() #1 /var/www/html/src/classes/modules/api/model/cmdb/isys_api_model_cmdb_category.class.php(1263): idoit\\Module\\Api\\Dialog\\AdminBuilder->build() #2 /var/www/html/src/classes/modules/api/model/cmdb/isys_api_model_cmdb_category.class.php(1049): isys_api_model_cmdb_category->validateDialogProperties() #3 /var/www/html/src/classes/modules/api/model/cmdb/isys_api_model_cmdb_category.class.php(1417): isys_api_model_cmdb_category->sync_wrapper() #4 /var/www/html/src/classes/modules/api/model/isys_api_model_cmdb.class.php(235): isys_api_model_cmdb_category->save() #5 [internal function]: isys_api_model_cmdb->route() #6 /...'
Mache ich etwas falsch oder ist das ein Bug in der API?
-
RE: CMDB Explorer & Mitglieder von Personengruppen
Hallo Lars,
ich stehe aktuell vor der gleichen Herausforderung, habe mich aber noch nicht näher damit auseinandergesetzt. Meine erste Idee wäre gewesen, eine benutzerdefinierte Kategorie für "Organigramm" zu erstellen - hast du diesen Ansatz auch schon getestet?
Danke!
LG,
Manuel -
Bug reintroduced? Updating a single-value category via API
Hello,
as the original thread is quite old, I'm creating a new one and referencing to the original issue here: Update a single-value category with Api
In that thread, the solution was to update the API add-on from 1.10.4 to 1.11.1, as the bug was apparently fixed there.
However, using the current add-on version 1.12.3, the same problem happens to me. Upon trying to set the primary host of a virtual machine running in a specific cluster, I get the response that the given id does not exist in the dialog table. I have triple-checked that a) the given host is actually a member of the given cluster, b) the id of the cluster is correct, and c) the id of the host is correct:
{ "version": "2.0", "method": "cmdb.category.save", "params": { "object": 100894, "data": { "hosts": 12923, "primary": 13795 }, "category": "C__CATG__VIRTUAL_MACHINE", "apikey": "xxx", "language": "en" }, "id": 6 }
Any suggestions?
Best regards,
Manuel