CIActionEngine - Com escopo
. CIActionEngine A API fornece métodos que permitem executar qualquer ação em um item de configuração (IC), verificar a autorização de um usuário antes de executar uma ação e obter o status e as saídas de ação de qualquer solicitação de execução de ação.
A ação de IC está associada à aplicação Metrics and IC Actions Framework. Para usar esta classe em uma aplicação com escopo, use sn_cimaf identificador de namespace. . CIActionEngine A API requer o plug-in Metrics and IC Actions Framework (com.snc.sn_cimaf) e é fornecida no sn_cimaf namespace.
CIActionEngine - execute()
Executa qualquer ação em um IC com os parâmetros de ação configurados.
| Nome | Tipo | Descrição |
|---|---|---|
| ação | Registro Glide ou cadeia de caracteres | Sys_id ou GlideRecord da tabela Ação [sn_cimaf_action]. |
| ic | Registro Glide ou cadeia de caracteres | Sys_id ou GlideRecord da tabela CMDB [cmdb_ci] na qual a Ação precisa ser executada |
| actionParams | Objeto | Opcional. Mapa de nomes e valores de parâmetros de ação.
Nota: Os valores do parâmetro devem ser do tipo definido na tabela Parâmetro de ação [sn_cimaf_action_parameter]. |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Sys_id da solicitação de ação em andamento duplicada nova ou existente. |
O exemplo a seguir mostra como encerrar um processo em um IC.
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);
Saída:
Action Request Id: e34e3a199d16a510f877a45cc5e8a492
CIActionEngine - getActionRequestOutput()
Obtém o status e as saídas da ação de uma solicitação de execução de ação.
| Nome | Tipo | Descrição |
|---|---|---|
| ActionRequest | Registro do Glide | GlideRecord da tabela Solicitação de ação [sn_cimaf_action_request]. |
| Tipo | Descrição |
|---|---|
| Objeto | O objeto contém o status e a lista das saídas de ação da solicitação de ação fornecida. |
O exemplo a seguir mostra como obter saídas de status e ação para qualquer solicitação de ação.
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));
Saída:
{
"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()
Verifica a autorização do usuário conectado antes que ele possa executar uma ação de acordo com as configurações especificadas.
As configurações são definidas nas tabelas Função de ação [sn_cimaf_action_role], Inclusão de ação de critérios do usuário [sn_cimaf_action_user_criteria_mtom] e Exclusão de ação de critérios do usuário [sn_cimaf_action_user_criteria_no_mtom].
| Nome | Tipo | Descrição |
|---|---|---|
| ação | Registro do Glide | GlideRecord da tabela Ação [sn_cimaf_action]. |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que indica o sucesso da autorização do usuário. Valores válidos:
|
O exemplo a seguir usa IsAuthorized() Método para verificar a autorização de um usuário para executar qualquer ação em um IC.
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