CMDBQueryBuilderAPI – Global
Stellt Methoden zur Ausführung bereit Configuration Management Database (CMDB) Abfragegenerator-Vorgänge in serverseitigen Skripts.
Diese API erfordert Configuration Management Database (CMDB) Anwendung (com.snc.cmdb).
Diese API ist nur im globalen Bereich verfügbar. Informationen zur Verwendung dieser Methoden in einer bereichsbezogenen Anwendung finden Sie unter CMDBQBScopedScriptableAPI – Umfang.
Weitere Informationen zu finden CMDB Abfragegenerator, siehe CMDB Query Builder.
CMDBQueryBuilderAPI – createReport(Zeichenfolge savedQueryId, Zeichenfolge savedQueryName)
Erstellt einen Bericht, der die Ergebnisse von anzeigt Configuration Management Database (CMDB) Abfrage-Generator-Abfrage und gibt die URL des Berichts zurück.
Verwenden Sie für bereichsbezogene Anwendungen CMDBQBScopedScriptableAPI – createReport(Zeichenfolge savedQueryId, Zeichenfolge savedQueryName).
| 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] |
| SavedQueryName | Zeichenfolge | Name der Abfrage, die für den Bericht verwendet werden soll. Dieser Parameter ist nicht erforderlich, wenn eine Abfrage-sys_ID angegeben wird. Tabelle: In gespeichert Name Feld der Tabelle „gespeicherte Abfragen“ [qb_saved_query]. |
| 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>.Nachricht | Nachricht mit Details zum Erfolg oder Fehler der Berichterstellung. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.Status | Statuscode. Wird zurückgegeben, wenn die Aktualisierung erfolgreich ist. Wert: Datentyp: Zeichenfolge |
Dieses Beispiel zeigt, wie ein Bericht erstellt wird, indem ein gespeicherter Abfragename übergeben wird.
var queryReport = SNC.CMDBQueryBuilderAPI.createReport('', 'CMDBQueryTest1');
gs.info(JSON.stringify(JSON.parse(queryReport), null, 2));
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"
}
Dieses Beispiel zeigt einen Fehler, wenn der angegebene Abfragename ungültig ist.
var queryReport = SNC.CMDBQueryBuilderAPI.createReport('', 'Test');
gs.info(JSON.stringify(JSON.parse(queryReport), null, 2));
Ausgabe:
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}
CMDBQueryBuilderAPI – deleteQuery(Zeichenfolge savedQueryId, Zeichenfolge savedQueryName)
Löscht einen Configuration Management Database (CMDB) Abfrage des Abfragegenerators.
Verwenden Sie für bereichsbezogene Anwendungen CMDBQBScopedScriptableAPI – deleteQuery(Zeichenfolge savedQueryId, Zeichenfolge savedQueryName).
| Name | Typ | Beschreibung |
|---|---|---|
| savedQueryId | Zeichenfolge | SYS_ID der zu löschenden Abfrage. Dieser Parameter kann als leere Zeichenfolge angegeben werden, wenn ein Abfragename angegeben wird. Tabelle: Gespeicherte Abfragen [qb_saved_query] |
| SavedQueryName | Zeichenfolge | Name der zu löschenden Abfrage. Dieser Parameter ist nicht erforderlich, wenn eine Abfrage-sys_ID angegeben wird. Tabelle: In gespeichert Name Feld der Tabelle „gespeicherte Abfragen“ [qb_saved_query]. |
| Typ | Beschreibung |
|---|---|
| Objekt | Details zur gelöschten Abfrage und zu 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>.Nachricht | Nachricht mit Details zum Erfolg oder Fehler des Löschvorgangs. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.Status | Statuscode. Wird zurückgegeben, wenn die Aktualisierung erfolgreich ist. Wert: Datentyp: Zeichenfolge |
Dieses Beispiel zeigt, wie Sie eine gespeicherte Abfrage löschen, indem Sie den Abfragenamen übergeben.
var delQuery = SNC.CMDBQueryBuilderAPI.deleteQuery('', 'CMDBQueryTest1');
gs.info(JSON.stringify(JSON.parse(delQuery), null, 2));
Ausgabe:
{
"message":"Successfully deleted the saved query",
"status":"success"
}
CMDBQueryBuilderAPI – getSavedQueryExecutionDetails (Zeichenfolge savedQueryName, boolesche executeQuery, Zeitüberschreitung bei Anzahl)
Gibt die Ausführungsdetails für einen zurück Configuration Management Database (CMDB) Abfrage des Abfragegenerators.
Optional können Sie die Abfrage ausführen, um aktuelle Ausführungsdetails zurückzugeben.
Wenn während der Ausführung der Abfrage eine Zeitüberschreitung oder ein Speicherproblem auftritt, können Sie die Größe des Abfragebatches optimieren, um diese Probleme zu lindern. Weitere Informationen finden Sie unter Batchgröße für gespeicherte Abfragen des Abfragegenerators .
Verwenden Sie für bereichsbezogene Anwendungen CMDBQBScopedScriptableAPI – getSavedQueryExecutionDetails(Zeichenfolge savedQueryName, boolesche executeQuery, Zeitüberschreitung bei Anzahl).
| Name | Typ | Beschreibung |
|---|---|---|
| SavedQueryName | Zeichenfolge | Name der Abfrage, für die Ausführungsdetails abgerufen werden sollen. Tabelle: Name Feld 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 | Anzahl | Optional. Ganzzahliger Wert, der die standardmäßige Zeitüberschreitungsgrenze für die Abfrageausführung von fünf Minuten überschreibt. Einheit: Sekunden Standard: Fünf Minuten |
| Typ | Beschreibung |
|---|---|
| Objekt | Details zur Ausführung der Abfrage 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>.Execution_Batch_size | Batchgröße von 100, die der Abfrageausführung zugewiesen ist. Dieser Wert gibt nur zurück, wenn executeQueryParameter ist „wahr“. Siehe auch Batch size for CMDB Query Builder queries. Datentyp: Zahl |
| <Object>.Nachricht | Nachricht mit Details zum Fehlercode. 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 Details der Abfrageausführung enthält. Datentyp: Zeichenfolge |
Dieses Beispiel zeigt, wie der Ausführungsstatus einer gespeicherten Abfrage abgerufen wird.
var savedQuery = SNC.CMDBQueryBuilderAPI.getSavedQueryExecutionDetails('CMDBQueryTest1');
gs.info(JSON.stringify(JSON.parse(savedQuery), null, 2));
Ausgabe:
{
"query_id":"024fd53a7773330033b5270bba106141",
"table_name":"u_cmdb_qb_result_598918aacb4dbf3f1a8dcf03fce6a5d57151a4e2",
"status":COMPLETE
}
Dieses Beispiel zeigt, wie eine gespeicherte Abfrage ausgeführt und der Zeitüberschreitungswert für die Abfrageausführung auf 10 Minuten festgelegt wird.
var savedQuery = SNC.CMDBQueryBuilderAPI.getSavedQueryExecutionDetails('CMDBQueryTest2', true, 600);
gs.info(JSON.stringify(JSON.parse(savedQuery), null, 2));
Ausgabe:
{
"execution_batch_size": 100,
"query_id": "e73428b4939baa50779bfdfb5cba1047",
"table_name": "u_cmdb_qb_result_f0eed95be923bf3d439c87c028ae3c3af53aa739",
"status": "COMPLETE"
}
Das folgende Beispiel zeigt, wie im vorherigen Beispiel auf Informationen in der Ergebnistabelle für die gespeicherte Abfrage CMDBQueryTest2 zugegriffen wird. Sie können auch den Namen der Ergebnistabelle gefolgt von verwenden .Liste Im Filter für Ergebnisse.
var resultTableName = 'u_cmdb_qb_result_f7593958e298869427726be96f88155cce269806';
var queryId = '76bd283c931bee502285f4cc5cba10da'; // insert the query ID here
var gr = new GlideRecord(resultTableName);
gr.addQuery('query', queryId);
gr.query();
if (gr.next()) {
gs.info(gr.getDisplayValue('u_server_1')); // field name in the result table
}
Ausgabe:
PS LoadBal01
CMDBQueryBuilderAPI – saveQuery(Zeichenfolge savedQueryName, Zeichenfolge queryJson)
Speichert Configuration Management Database (CMDB) Abfrage-Generator-Abfrage und gibt die sys_ID der gespeicherten Abfrage zurück.
Verwenden Sie für bereichsbezogene Anwendungen CMDBQBScopedScriptableAPI – saveQuery(Zeichenfolge savedQueryName, Zeichenfolge queryJson).
| Name | Typ | Beschreibung |
|---|---|---|
| SavedQueryName | Zeichenfolge | Name, unter dem die Abfrage gespeichert werden soll. Tabelle: In gespeichert Name Feld der Tabelle „gespeicherte Abfragen“ [qb_saved_query]. |
| QueryJson | Zeichenfolge | JSON, das die Abfrage definiert. Tabelle: In gespeichert Abfrage Feld der Tabelle „gespeicherte Abfragen“ [qb_saved_query]. |
| 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>.Nachricht | Nachricht mit Details zum Erfolg oder Fehler des Speichervorgangs. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.Status | Statuscode. Wird zurückgegeben, wenn der Speichervorgang erfolgreich ist. Wert: Datentyp: Zeichenfolge |
Dieses Beispiel zeigt, 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}}";
var newQuery = SNC.CMDBQueryBuilderAPI.saveQuery('CMDBQueryTest1', queryJson);
gs.info(JSON.stringify(JSON.parse(newQuery), null, 2));
Ausgabe:
{
"message":"Successfully saved the query with sysId d93f96981b310210bccf42a3b24bcb41",
"status":"success"
}
CMDBQueryBuilderAPI – updateQuery(Zeichenfolge savedQueryId, Zeichenfolge savedQueryName, Zeichenfolge queryJson)
Aktualisiert das JSON für einen Configuration Management Database (CMDB) Abfrage des Abfragegenerators.
Verwenden Sie für bereichsbezogene Anwendungen CMDBQBScopedScriptableAPI – updateQuery(Zeichenfolge savedQueryId, Zeichenfolge savedQueryName, Zeichenfolge queryJson).
| 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] |
| SavedQueryName | Zeichenfolge | Name der zu aktualisierenden Abfrage. Dieser Parameter ist nicht erforderlich, wenn eine Abfrage-sys_ID angegeben wird. Tabelle: In gespeichert Name Feld in der Tabelle „gespeicherte Abfragen“ [qb_saved_query]. |
| QueryJson | Zeichenfolge | JSON, mit der die Abfrage aktualisiert werden soll. Tabelle: In gespeichert Abfrage Feld in der Tabelle „gespeicherte Abfragen“ [qb_saved_query]. |
| Typ | Beschreibung |
|---|---|
| Objekt | Details zur aktualisierten Abfrage und zu Fehlern. |
| <Object>.Fehler | Fehlercode. Wird zurückgegeben, wenn das Update fehlschlägt oder ungültige Eingabeparameter angegeben werden. Mögliche Fehler:
Datentyp: Zeichenfolge |
| <Object>.Nachricht | Nachricht mit Details zum Erfolg oder Fehler des Updates. Mögliche Nachrichten:
Datentyp: Zeichenfolge |
| <Object>.Status | Statuscode. Wird zurückgegeben, wenn die Aktualisierung erfolgreich ist. Wert: Datentyp: Zeichenfolge |
Dieses Beispiel zeigt, wie Sie eine gespeicherte Abfrage aktualisieren, indem Sie den Abfragenamen übergeben.
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}}";
var queryUpdate = SNC.CMDBQueryBuilderAPI.updateQuery('', 'CMDBQueryTest1', queryJson);
gs.info(JSON.stringify(JSON.parse(queryUpdate), null, 2));
Ausgabe:
{
"message":"Successfully updated the saved query",
"status":"success"
}
In diesem Beispiel wird ein Fehler angezeigt, wenn sowohl die sys_ID der Abfrage als auch der Name im Methodenaufruf 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}}";
var queryUpdate = SNC.CMDBQueryBuilderAPI.updateQuery('', '', queryJson);
gs.info(JSON.stringify(JSON.parse(queryUpdate), null, 2));
Ausgabe:
{
"error":"INVALID_PARAM",
"message":"Invalid Parameters. Please provide either a valid sysId or a valid name of a saved query"
}