CIActionEngine - Inclus dans le champ d’application
L’API CIActionEngine vous permet d’exécuter n’importe quelle action sur un CI, de vérifier l’autorisation d’un utilisateur avant d’exécuter une action et d’obtenir l’état et les sorties d’action de n’importe quelle demande d’exécution d’action.
L’action de CI est associée au produit Cadre de travail des mesures et des actions de CI. Pour utiliser cette classe dans une application incluse dans le périmètre, utilisez l’identificateur d’espace de noms sn_cimaf. L’API CIActionEngine Scoped requiert le module d’extension Metrics and CI Actions Framework (com.snc.sn_cimaf) et est fournie dans l’espace de noms sn_cimaf .
CIActionEngine inclus dans le périmètre : execute()
Exécute n’importe quelle action sur un CI avec les paramètres d’action configurés.
| Nom | Type | Description |
|---|---|---|
| action | Enregistrement de chaîne ou Glide | Sys_id ou GlideRecord de la table Action [sn_cimaf_action]. |
| ci | Enregistrement de chaîne ou Glide | Sys_id ou GlideRecord de la table CMDB [cmdb_ci] sur laquelle l’action doit être exécutée |
| Paramètres d’action | Objet | Facultatif. Carte des noms et valeurs des paramètres d’action.
Remarque : Les valeurs de paramètre doivent être du type défini dans la table Paramètre d’action [sn_cimaf_action_parameter]. |
| Type | Description |
|---|---|
| Chaîne | Sys_id de la demande d’action en cours, nouvelle ou existante, en double. |
L’exemple suivant montre comment arrêter un processus sur un CI.
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);
Sortie :
Action Request Id: e34e3a199d16a510f877a45cc5e8a492
CIActionEngine inclus dans le périmètre : getActionRequestOutput()
Obtient l’état et les sorties d’action d’une demande d’exécution d’action.
| Nom | Type | Description |
|---|---|---|
| Demande d’action | Enregistrement Glide | GlideRecord de la table Demande d’action [sn_cimaf_action_request]. |
| Type | Description |
|---|---|
| Objet | L’objet contient l’état et la liste des sorties d’action de la demande d’action fournie. |
L’exemple suivant montre comment obtenir l’état et les sorties d’action pour n’importe quelle demande d’action.
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));
Sortie :
{
"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 inclus dans le périmètre : isAuthorized()
Vérifie l’autorisation de l’utilisateur connecté avant de pouvoir exécuter une action selon les configurations spécifiées.
Les configurations sont définies dans les tables Rôle d’action [sn_cimaf_action_role], Inclusion des actions des critères d’utilisateur [sn_cimaf_action_user_criteria_mtom] et Exclusion des actions des critères d’utilisateur [sn_cimaf_action_user_criteria_no_mtom].
| Nom | Type | Description |
|---|---|---|
| action | Enregistrement Glide | GlideRecord de la table Action [sn_cimaf_action]. |
| Type | Description |
|---|---|
| Booléen | Marqueur indiquant la réussite de l’autorisation de l’utilisateur. Valeurs valides :
|
L’exemple suivant utilise la méthode isAuthorized() pour vérifier l’autorisation d’un utilisateur à exécuter n’importe quelle action sur un 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