CIActionEngine – Scoped
Mit der CIActionEngine- API können Sie eine beliebige Aktion für ein CI ausführen, die Autorisierung eines Benutzers überprüfen, bevor eine Aktion ausgeführt wird, und den Status und die Aktionsausgaben einer beliebigen Aktionsausführungsanforderung abrufen.
Die CI-Aktion ist dem Produkt „Metrics and CI Actions Framework“ zugeordnet. Um diese Klasse in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie den Namespace-Identifier sn_cimaf. Die bereichsbezogene CIActionEngine-API erfordert das Plugin „Metrics and CI Actions Framework“ (com.snc.sn_cimaf) und wird im sn_cimaf- Namespace bereitgestellt.
Scoped 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 der Aktionsparameternamen und -werte.
Hinweis: Parameterwerte müssen den Typ haben, der in der Tabelle „Aktionsparameter“ [sn_cimaf_action_parameter] definiert ist. |
| 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
Scoped 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, das den Status und die Liste der Aktionsausgaben der angegebenen Aktionsanforderung enthält. |
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"
}
]
}
Scoped CIActionEngine – isAuthorized()
Überprüft die Autorisierung des angemeldeten Benutzers, bevor er eine Aktion gemäß den angegebenen Konfigurationen ausführen kann.
Die Konfigurationen werden in den Tabellen „Aktionsrolle“ [sn_cimaf_action_role], „Einschluss der Benutzerkriterienaktion“ [sn_cimaf_action_user_criteria_mtom] und „Ausschluss der Benutzerkriterienaktion“ [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 die erfolgreiche Autorisierung des Benutzers angibt. Gültige Werte:
|
Im folgenden Beispiel wird die Methode isAuthorized() verwendet, um die Berechtigung eines Benutzers zum Ausführen einer Aktion für ein CI zu überprüfen.
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