CIActionEngine – Umfang
Die CIActionEngine Die API bietet Methoden, mit denen Sie Aktionen für ein Konfigurationselement (Configuration Item, CI) ausführen, die Autorisierung eines Anwenders vor der Ausführung einer Aktion überprüfen und den Status und die Aktionsausgaben einer Aktionsausführungsanforderung abrufen können.
Die CI-Aktion ist der Anwendung Metriken und CI-Aktionen-Framework zugeordnet. Um diese Klasse in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie sn_cimaf Namespace-Bezeichner. Die CIActionEngine Die API erfordert das Plugin „Metriken und CI-Aktionen Framework“ (com.snc.sn_cimaf) und wird in bereitgestellt sn_cimaf Namespace.
CIActionEngine – execute()
Führt eine beliebige Aktion für ein CI mit den konfigurierten Aktionsparametern aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Aktion | Zeichenfolge oder Glide-Datensatz | SYS_ID oder GlideRecord der Aktionstabelle [sn_cimaf_action]. |
| CI | Zeichenfolge oder Glide-Datensatz | SYS_ID oder GlideRecord der CMDB-Tabelle [cmdb_ci], für die die Aktion ausgeführt werden muss |
| actionParams | Objekt | Optional. Zuordnung von Aktionsparameternamen und -Werten.
Hinweis: Parameterwerte müssen vom Typ sein, der in der Tabelle „Aktionsparameter“ [sn_cimaf_action_Parameter] definiert ist. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | SYS_ID der neuen oder vorhandenen doppelten Aktionsanforderung in Bearbeitung. |
Das folgende Beispiel zeigt, wie ein Prozess für ein CI beendet wird.
var actionSysId = "6303db0d53b99910ae50ddeeff7b121e";
//Sys_id of the Action – End Process
var ciSysId = "b4fd7c8437201000deeabfc8bcbe5dc1"; //Sys_id of the CI
var actionParams = {
process_id: 23342 //Process id of the process to be killed
};
var ciActionEngine = new sn_cimaf.CIActionEngine();
var actionRequestId = ciActionEngine.execute(actionSysId, ciSysId, actionParams);
gs.info("Action Request Id: " + actionRequestId);
Ausgabe:
Action Request Id: e34e3a199d16a510f877a45cc5e8a492
CIActionEngine – getActionRequestOutput()
Ruft den Status und die Aktionsausgaben einer Aktionsausführungsanforderung ab.
| Name | Typ | Beschreibung |
|---|---|---|
| ActionRequest | Glide-Datensatz | GlideRecord der Tabelle „Aktionsanforderung“ [sn_cimaf_action_Request]. |
| Typ | Beschreibung |
|---|---|
| Objekt | Objekt enthält den Status und die Liste der Aktionsausgaben der angegebenen Aktionsanforderung. |
Das folgende Beispiel zeigt, wie Status- und Aktionsausgaben für eine Aktionsanforderung abgerufen werden.
var actionRequestGr = new GlideRecord('sn_cimaf_action_request');
actionRequestGr.get('e34e3a199d16a510f877a45cc5e8a492');
var ciActionEngine = new sn_cimaf.CIActionEngine();
var actionRequestOutput = ciActionEngine.getActionRequestOutput(actionRequestGr);
gs.info("Action Request Output: " + JSON.stringify(actionRequestOutput, null, 2));
Ausgabe:
{
"sys_id": "e34e3a199d16a510f877a45cc5e8a492",
"state": "completed",
"sn_cimaf_action_output": [
{
"sys_id": "405ef2599d16a510f877a45cc5e8a41e",
"action_command": "b0e43efb53259510ae50ddeeff7b129b",
"payload": "{\"output\":\"SUCCESS: The process with PID 23342 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 23342 /f\"}",
"state": "completed",
"request_id": "cc5ef2599d16a510f877a45cc5e8a41d"
}
]
}
CIActionEngine – IsAuthorized()
Überprüft die Autorisierung des angemeldeten Anwenders, bevor er eine Aktion gemäß den angegebenen Konfigurationen ausführen kann.
Die Konfigurationen werden in den Tabellen Aktionsrolle [sn_cimaf_action_role], Aufnahme der Anwenderkriterienaktion [sn_cimaf_action_user_Criteria_mtom] und Ausschluss der Anwenderkriterienaktion [sn_cimaf_action_user_Criteria_no_mtom] definiert.
| Name | Typ | Beschreibung |
|---|---|---|
| Aktion | Glide-Datensatz | GlideRecord der Aktionstabelle [sn_cimaf_action]. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die den Erfolg der Autorisierung des Anwenders angibt. Gültige Werte:
|
Im folgenden Beispiel wird verwendet IsAuthorized() Methode zum Überprüfen der Autorisierung eines Anwenders zum Ausführen einer Aktion für ein CI.
var actionSysId = "6303db0d53b99910ae50ddeeff7b121e" //Sys_id of the Action
var actionGr = new GlideRecord('sn_cimaf_action');
actionGr.get('6303db0d53b99910ae50ddeeff7b121e');
var ciActionEngine = new sn_cimaf.CIActionEngine();
var isAuthorized = ciActionEngine.isAuthorized(actionGr);
gs.info("Is user authorized: " + isAuthorized);
Is user authorized: true