CMDBQueryBuilderAPI : Global
Stellt Methoden zum Ausführen von Vorgängen des Abfragegenerators Configuration Management Database (CMDB) in serverseitigen Skripts bereit.
Diese API erfordert die Anwendung Configuration Management Database (CMDB) (com.snc.cmdb).
Informationen zur Verwendung dieser Methoden in einer bereichsbezogenen Anwendung finden Sie unter CMDBQBScopedScriptableAPI : Bereichsbezogen.
Weitere Informationen zu CMDB Abfragegenerator finden Sie unter CMDB Query Builder.
CMDBQueryBuilderAPI – createReport(String speicherndQueryId, Zeichenfolge gespeicherter AbfrageName)
Erstellt einen Bericht, der die Ergebnisse einer Configuration Management Database (CMDB) -Abfragegeneratorabfrage anzeigt, und gibt die URL des Berichts zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| savedQueryId | Zeichenfolge | Sys_id der Abfrage, die für den Bericht verwendet werden soll. Dieser Parameter ist nicht erforderlich, wenn ein Abfragename angegeben wird. Tabelle: Gespeicherte Abfragen [qb_saved_query] |
| gespeicherterAbfragename | Zeichenfolge | Name der für den Bericht zu verwendenden Abfrage. Dieser Parameter ist nicht erforderlich, wenn eine Abfrage-sys_id angegeben wird. Tabelle: Wird im Feld Name der Tabelle „Gespeicherte Abfragen“ [qb_saved_query] gespeichert. |
| Typ | Beschreibung |
|---|---|
| Objekt | Details zum erstellten Bericht und zu Fehlern. |
| <Object>.Fehler | Fehlercode. Wird zurückgegeben, wenn die Berichterstellung fehlschlägt oder ungültige Eingabeparameter angegeben werden. Mögliche Fehler:
Datentyp: Zeichenfolge |
| <Object>.message | Nachricht, die Details über den Erfolg oder Fehler der Berichterstellung enthält. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.status | Statuscode. Wird zurückgegeben, wenn das Update erfolgreich ist. Wert: Datentyp: Zeichenfolge |
In diesem Beispiel wird gezeigt, wie Sie einen Bericht erstellen, indem Sie einen gespeicherten Abfragenamen übergeben.
SNC.CMDBQueryBuilderAPI.createReport('', 'CMDBQueryTest1');
Ausgabe:
{
"message":"\/sys_report_template.do?sysparm_report_source_id=6d299cf81bbd4210bccf42a3b24bcb7a&sysparm_type=list&sysparm_title=CMDBQueryTest1&sysparm_source_type=source&sysparm_from_list=true&sysparm_chart_size=large&sysparm_manual_labor=true",
"status":"success"
}
In diesem Beispiel wird ein Fehler angezeigt, wenn der angegebene Abfragename ungültig ist.
SNC.CMDBQueryBuilderAPI.createReport('', 'Test');
Ausgabe:
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}
CMDBQueryBuilderAPI – deleteQuery(String speicherndQueryId, Zeichenfolge gespeicherter AbfrageName)
Löscht eine Configuration Management Database (CMDB) Abfragegeneratorabfrage.
| Name | Typ | Beschreibung |
|---|---|---|
| savedQueryId | Zeichenfolge | Sys_id der zu löschenden Abfrage. Dieser Parameter ist nicht erforderlich, wenn ein Abfragename angegeben wird. Tabelle: Gespeicherte Abfragen [qb_saved_query] |
| gespeicherterAbfragename | Zeichenfolge | Name der zu löschenden Abfrage. Dieser Parameter ist nicht erforderlich, wenn eine Abfrage-sys_id angegeben wird. Tabelle: Wird im Feld Name der Tabelle „Gespeicherte Abfragen“ [qb_saved_query] gespeichert. |
| Typ | Beschreibung |
|---|---|
| Objekt | Details zur gelöschten Abfrage und zu etwaigen Fehlern. |
| <Object>.Fehler | Fehlercode. Wird zurückgegeben, wenn der Löschvorgang fehlschlägt oder ungültige Eingabeparameter angegeben werden. Mögliche Fehler:
Datentyp: Zeichenfolge |
| <Object>.message | Nachricht, die Details über den Erfolg oder Fehler des Löschvorgangs enthält. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.status | Statuscode. Wird zurückgegeben, wenn das Update erfolgreich ist. Wert: Datentyp: Zeichenfolge |
In diesem Beispiel wird gezeigt, wie Sie eine gespeicherte Abfrage löschen, indem Sie den Abfragenamen übergeben.
SNC.CMDBQueryBuilderAPI.deleteQuery('', 'CMDBQueryTest1');
Ausgabe:
{
"message":"Successfully deleted the saved query",
"status":"success"
}
CMDBQueryBuilderAPI - getSavedQueryExecutionDetails(String savedQueryName, Boolean executeQuery, Number timeout)
Gibt die Ausführungsdetails für eine Configuration Management Database (CMDB) -Abfragegeneratorabfrage zurück.
Optional können Sie die Abfrage ausführen, um aktuelle Ausführungsdetails zurückzugeben.
Wenn bei der Ausführung der Abfrage Zeitüberschreitungen oder Speicherprobleme auftreten, können Sie die Batch-Größe der Abfrage optimieren, um diese Probleme zu beheben. Weitere Informationen finden Sie unter Batchgröße für gespeicherte Abfragen des Abfragegenerators.
| Name | Typ | Beschreibung |
|---|---|---|
| gespeicherterAbfragename | Zeichenfolge | Name der Abfrage, für die Ausführungsdetails abgerufen werden sollen. Tabelle: Namensfeld in der Tabelle „Gespeicherte Abfragen“ [qb_saved_query]. |
| executeQuery | Boolean | Optional. Kennzeichnung, die angibt, ob die angegebene Abfrage ausgeführt werden soll. Gültige Werte:
Standardwert: False |
| Zeitüberschreitung | Nummer | Optional. Ganzzahliger Wert, der die standardmäßige Zeitüberschreitungsgrenze von fünf Minuten für die Abfrageausführung überschreibt. Einheit: Sekunden Standard: Fünf Minuten |
| Typ | Beschreibung |
|---|---|
| Objekt | Details zur Abfrageausführung und zu Fehlern. |
| <Object>.Fehler | Fehlercode. Wird zurückgegeben, wenn die Ausführung der Abfrage fehlschlägt oder die angegebene Abfrage nicht gefunden wird. Mögliche Fehler:
Datentyp: Zeichenfolge |
| <Object>.message | Meldung, die Details zum Fehlercode enthält. Wird zurückgegeben, wenn die Ausführung der Abfrage fehlschlägt oder die angegebene Abfrage nicht gefunden wird. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.query_id | Sys_id der Abfrageausführung. Datentyp: Zeichenfolge Tabelle: Abfragestatus [qb_query_status] |
| <Object>.status | Status der Abfrageausführung.
Datentyp: Zeichenfolge |
| <Object>.table_name | Name der Tabelle, die die Abfrageausführungsdetails enthält. Datentyp: Zeichenfolge |
In diesem Beispiel wird gezeigt, wie Sie eine gespeicherte Abfrage ausführen und den Wert für die Zeitüberschreitung bei der Abfrageausführung auf 10 Minuten festlegen.
SNC.CMDBQueryBuilderAPI.getSavedQueryExecutionDetails('Test', true, 600);
Ausgabe:
{
"query_id":"024fd53a7773330033b5270bba106141",
"table_name":"u_cmdb_qb_result_598918aacb4dbf3f1a8dcf03fce6a5d57151a4e2",
"status":COMPLETE
}
CMDBQueryBuilderAPI – saveQuery(String savedQueryName, String queryJson)
Speichert eine Configuration Management Database (CMDB) -Abfragegeneratorabfrage und gibt die sys_id der gespeicherten Abfrage zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| gespeicherterAbfragename | Zeichenfolge | Name, unter dem die Abfrage gespeichert werden soll. Tabelle: Wird im Feld Name der Tabelle „Gespeicherte Abfragen“ [qb_saved_query] gespeichert. |
| queryJson | Zeichenfolge | JSON, das die Abfrage definiert. Tabelle: Wird im Feld Abfrage der Tabelle „Gespeicherte Abfragen“ [qb_saved_query] gespeichert. |
| Typ | Beschreibung |
|---|---|
| Objekt | Objekt mit Details zur gespeicherten Abfrage und zu Fehlern. |
| <Object>.Fehler | Fehlercode. Wird zurückgegeben, wenn der Speichervorgang fehlschlägt oder ungültige Eingabeparameter angegeben werden. Mögliche Fehler:
Datentyp: Zeichenfolge |
| <Object>.message | Nachricht, die Details über den Erfolg oder Fehler des Speichervorgangs enthält. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.status | Statuscode. Wird zurückgegeben, wenn der Speichervorgang erfolgreich ist. Wert: Datentyp: Zeichenfolge |
In diesem Beispiel wird gezeigt, wie der Tabelle „Gespeicherte Abfragen“ [qb_saved_query] eine Abfrage hinzugefügt wird.
var queryJson = "{\"type\":\"cmdb\",\"nodes\":[{\"label\":\"Server\",\"unique_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_server\",\"ci_type_label\":\"Server\",\"sys_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"x\":72,\"y\":337,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":true,\"nodeId\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"name\":\"Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"className\":\"cmdb_ci_server\"},{\"label\":\"Database\",\"unique_id\":\"b640269c1b310210bccf42a3b24bcb36\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/database.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_database\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_database\",\"ci_type_label\":\"Database\",\"sys_id\":\"b640269c1b310210bccf42a3b24bcb36\",\"x\":510,\"y\":340,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":false,\"nodeId\":\"b640269c1b310210bccf42a3b24bcb36_4_23_2024_5_50_57\",\"name\":\"Database 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"b640269c1b310210bccf42a3b24bcb36_4_23_2024_5_50_57\",\"className\":\"cmdb_ci_database\"}],\"edges\":[{\"id\":\"Server 1_Database 1\",\"from\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"to\":\"b640269c1b310210bccf42a3b24bcb36_4_23_2024_5_50_57\",\"isDotted\":false,\"type\":\"relation\",\"isReverse\":false,\"direction\":\"outbound\",\"hiddenLevel\":0,\"relations\":[\"607ad1b2c0a8010e01941856b365af90\",\"1a9cb166f1571100a92eb60da2bce5c5\"]}],\"usedNames\":{\"cmdb_ci_server\":1,\"cmdb_ci_database\":1}}";
SNC.CMDBQueryBuilderAPI.saveQuery('CMDBQueryTest1', queryJson);
Ausgabe:
{
"message":"Successfully saved the query with sysId d93f96981b310210bccf42a3b24bcb41",
"status":"success"
}
In diesem Beispiel wird ein Fehler angezeigt, wenn eine ungültige JSON-Abfrage angegeben wird.
var queryJson = "Test";
SNC.CMDBQueryBuilderAPI.saveQuery('Test', queryJson);
Ausgabe:
{
"error":"QUERY_INVALID",
"message":"QueryJson is invalid. Please provide a valid queryJson"
}
CMDBQueryBuilderAPI – updateQuery(String speicherndQueryId, Zeichenfolge gespeicherterAbfragename, Zeichenfolgen-queryJson)
Aktualisiert das JSON-Objekt für eine Configuration Management Database (CMDB) -Abfragegeneratorabfrage.
| Name | Typ | Beschreibung |
|---|---|---|
| savedQueryId | Zeichenfolge | Sys_id der zu aktualisierenden Abfrage. Dieser Parameter ist nicht erforderlich, wenn ein Abfragename angegeben wird. Tabelle: Gespeicherte Abfragen [qb_saved_query] |
| gespeicherterAbfragename | Zeichenfolge | Name der zu aktualisierenden Abfrage. Dieser Parameter ist nicht erforderlich, wenn eine Abfrage-sys_id angegeben wird. Tabelle: Wird im Feld Name in der Tabelle „Gespeicherte Abfragen“ [qb_saved_query] gespeichert. |
| queryJson | Zeichenfolge | JSON, mit dem die Abfrage aktualisiert werden soll. Tabelle: Wird im Feld Abfrage in der Tabelle „Gespeicherte Abfragen“ [qb_saved_query] gespeichert. |
| Typ | Beschreibung |
|---|---|
| Objekt | Details zur aktualisierten Abfrage und zu etwaigen Fehlern. |
| <Object>.Fehler | Fehlercode. Wird zurückgegeben, wenn die Aktualisierung fehlschlägt oder ungültige Eingabeparameter angegeben werden. Mögliche Fehler:
Datentyp: Zeichenfolge |
| <Object>.message | Nachricht, die Details über den Erfolg oder Fehler des Updates enthält. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.status | Statuscode. Wird zurückgegeben, wenn das Update erfolgreich ist. Wert: Datentyp: Zeichenfolge |
In diesem Beispiel wird gezeigt, wie eine gespeicherte Abfrage aktualisiert wird, indem der Abfragename übergeben wird.
var queryJson = "{\"type\":\"cmdb\",\"nodes\":[{\"label\":\"Server\",\"unique_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_server\",\"ci_type_label\":\"Server\",\"sys_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"x\":72,\"y\":336,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":true,\"nodeId\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"name\":\"Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"className\":\"cmdb_ci_server\"},{\"label\":\"Web Server\",\"unique_id\":\"984f5a981b310210bccf42a3b24bcb03\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/web_server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_web_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_web_server\",\"ci_type_label\":\"Web Server\",\"sys_id\":\"984f5a981b310210bccf42a3b24bcb03\",\"x\":446,\"y\":330,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":false,\"nodeId\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"name\":\"Web Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"className\":\"cmdb_ci_web_server\"}],\"edges\":[{\"id\":\"Server 1_Web Server 1\",\"from\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"to\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"isDotted\":false,\"type\":\"relation\",\"isReverse\":false,\"direction\":\"outbound\",\"hiddenLevel\":0,\"relations\":[\"607ad1b2c0a8010e01941856b365af90\"]}],\"usedNames\":{\"cmdb_ci_server\":1,\"cmdb_ci_database\":1,\"cmdb_ci_web_server\":1}}";
gs.log(SNC.CMDBQueryBuilderAPI.updateQuery('', 'CMDBQueryTest1', queryJson));
Ausgabe:
{
"message":"Successfully updated the saved query",
"status":"success"
}
In diesem Beispiel wird ein Fehler angezeigt, wenn im Methodenaufruf die Abfrage-Sys-ID und der Name fehlen.
var queryJson = "{\"type\":\"cmdb\",\"nodes\":[{\"label\":\"Server\",\"unique_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_server\",\"ci_type_label\":\"Server\",\"sys_id\":\"d93f96981b310210bccf42a3b24bcb41\",\"x\":72,\"y\":336,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":true,\"nodeId\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"name\":\"Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"className\":\"cmdb_ci_server\"},{\"label\":\"Web Server\",\"unique_id\":\"984f5a981b310210bccf42a3b24bcb03\",\"nodeType\":\"class\",\"image\":\"images/app.ngbsm/web_server.svg\",\"properties\":\"\",\"allowed_connections\":[],\"filters\":{\"platform\":\"cmdb_ci_web_server\",\"custom\":\"\"},\"ci_type\":\"cmdb_ci_web_server\",\"ci_type_label\":\"Web Server\",\"sys_id\":\"984f5a981b310210bccf42a3b24bcb03\",\"x\":446,\"y\":330,\"returnValues\":[],\"filters_attrib\":\"\",\"applied_filters\":\"\",\"isStartNode\":false,\"nodeId\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"name\":\"Web Server 1\",\"type\":\"class\",\"refFilterApplied\":false,\"focused\":false,\"id\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"className\":\"cmdb_ci_web_server\"}],\"edges\":[{\"id\":\"Server 1_Web Server 1\",\"from\":\"d93f96981b310210bccf42a3b24bcb41_4_23_2024_5_50_54\",\"to\":\"984f5a981b310210bccf42a3b24bcb03_4_23_2024_6_32_19\",\"isDotted\":false,\"type\":\"relation\",\"isReverse\":false,\"direction\":\"outbound\",\"hiddenLevel\":0,\"relations\":[\"607ad1b2c0a8010e01941856b365af90\"]}],\"usedNames\":{\"cmdb_ci_server\":1,\"cmdb_ci_database\":1,\"cmdb_ci_web_server\":1}}";
SNC.CMDBQueryBuilderAPI.updateQuery('', '', queryJson);
Ausgabe:
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}