CIActionEngine - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 3 min. de leitura
  • . 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.

    Tabela 1. Parâmetros
    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.

    {
     “<parameter name>”: <parameter value>
    }
    Nota:
    Os valores do parâmetro devem ser do tipo definido na tabela Parâmetro de ação [sn_cimaf_action_parameter].
    Tabela 2. Retornos
    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.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    ActionRequest Registro do Glide GlideRecord da tabela Solicitação de ação [sn_cimaf_action_request].
    Tabela 4. Retornos
    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.
    { 
        “sys_id”: “String”, 
        “state”: “String”, //Possible values: completed, in_progress, failed 
        “sn_cimaf_action_output”: [ 
              { 
                    “sys_id”: “String”, 
                    “action_command”: “String”, //Sys_id of the Action Configuration Step table 
                    “payload”: “String”, 
                    “state”: “String”, //Possible values: completed, in_progress, failed, validation_failure 
                    “request_id”: “String” //Unique id returned by Provider on executing action_command 
              } 
          ] 
    } 

    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].

    Nota:
    Por padrão, se não houver nenhuma configuração presente em nenhuma dessas tabelas para a Ação, a autorização falhará.
    Tabela 5. Parâmetros
    Nome Tipo Descrição
    ação Registro do Glide GlideRecord da tabela Ação [sn_cimaf_action].
    Tabela 6. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica o sucesso da autorização do usuário.

    Valores válidos:
    • Verdadeiro: O usuário está autorizado a executar a ação.
    • Falso: O usuário está autorizado a executar a ação.

    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