CIActionEngine : Bereichsbezogen
Die CIActionEngine- API stellt Methoden bereit, mit denen Sie eine beliebige Aktion für ein Configuration Item (CI) ausführen, die Autorisierung eines Benutzers vor der Ausführung einer Aktion überprüfen und den Status und die Aktionsausgaben einer Aktionsausführungsanforderung abrufen können.
Die CI-Aktion ist mit der Anwendung Framework für Metriken und CI-Aktionen verknüpft. Um diese Klasse in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie den Namespace-Bezeichner sn_cimaf. Die CIActionEngine- API erfordert das Plugin „Framework für Metriken und CI-Aktionen“ (com.snc.sn_cimaf) und wird im Namespace sn_cimaf bereitgestellt.
CIActionEngine – execute()
Führt eine beliebige Aktion für ein CI mit den konfigurierten Aktionsparametern aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Aktion | Zeichenfolgen- oder Glide-Datensatz | Sys_id oder GlideRecord der Tabelle „Aktion“ [sn_cimaf_action]. |
| ci | Zeichenfolgen- 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 den in der Tabelle „Aktionsparameter“ [sn_cimaf_action_parameter] definierten Typ aufweisen. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Sys_id der neuen oder vorhandenen doppelten in Bearbeitung befindlichen Aktionsanforderung. |
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 Sie Status- und Aktionsausgaben für eine beliebige Aktionsanforderung abrufen.
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 sind in den Tabellen „Aktionsrolle“ [sn_cimaf_action_role], „Einschluss von Anwenderkriterienaktionen“ [sn_cimaf_action_user_criteria_mtom] und „Ausschluss von Anwenderkriterienaktionen“ [sn_cimaf_action_user_criteria_no_mtom] definiert.
| Name | Typ | Beschreibung |
|---|---|---|
| Aktion | Glide-Datensatz | GlideRecord der Tabelle „Aktion“ [sn_cimaf_action]. |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die die erfolgreiche Autorisierung des Anwenders anzeigt. Gültige Werte:
|
Im folgenden Beispiel wird mit der Methode isAuthorized() überprüft, ob ein Benutzer berechtigt ist, eine Aktion für ein CI auszuführen.
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