RemedialActionEngine - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 7 min. de leitura
  • . RemedialActionEngine A API fornece métodos para trabalhar com ações corretivas.

    Esta API faz parte da estrutura de ações corretivas e pode ser usada para executar as seguintes ações:
    • Iniciar uma ação corretiva.
    • Acionar a execução de uma ação corretiva.
    • Verifique a autorização do usuário conectado para executar a ação corretiva.
    • Verifique a aplicabilidade da ação corretiva em relação ao registro de destino.
    • Obtenha o status de execução atual e a carga de saída da ação de destino.

    Esta API requer a aplicação de armazenamento Estrutura de ações corretivas (com.snc.sn_reacf) e é fornecida em sn_reacf namespace.

    RemedialActionEngine - beginRemediation (cadeia de caracteres remedialAction, cadeia de caracteres parentTable, cadeia de caracteres parentRecord, objeto actionParams, cadeia de caracteres targetRecord, cadeia de caracteres originRecord)

    Inicia qualquer ação corretiva do registro primário em relação a um registro de destino. Este método cria um novo registro de execução de ação corretiva em um estado "Pronto".

    Nota:
    Ao definir parâmetros de solicitação, lembre-se de que:
    • Se o tipo de parâmetro for um objeto ou matriz, defina cada propriedade e seu tipo.
    • Se o tipo de parâmetro for GlideRecord, forneça a tabela associada em sua solicitação.
    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Ação corretiva String ou GlideRecord Sys_id ou internal_name ou GlideRecord da tabela Ação femial [sn_reacf_remedial_action].
    parentTable Cadeia de caracteres Nome da tabela do registro primário.
    parentRecord Cadeia de caracteres Sys_id do registro primário.
    actionParams Objeto

    Opcional. Mapa de nomes e valores de parâmetros de ação corretiva.

    {
        “<parameter name>”: <parameter value>
    }
    Nota:
    O valor do parâmetro deve ser do tipo definido na tabela Parâmetro de ação corretiva [sn_reacf_remedial_action_parameter].
    targetRecord String ou GlideRecord Opcional. Sys_id ou GlideRecord da tabela de destino configurada.
    OriginRecord String ou GlideRecord Opcional. Sys_id ou GlideRecord da tabela Origem da ação corretiva [sn_reacf_remedial_action_origin].
    Tabela 2. Retornos
    Tipo Descrição
    Objeto
    {
        "statusCode": "String",
        "actionExecutionRequestId": "String",
        "parentRecord": "String",
        "parentTable": "String"
    }
    <Object>.StatusCode Código de status da solicitação de execução da ação corretiva, ou seja, bem-sucedida, duplicate_request ou falha
    <Object>.ActionExecutionRequestId Sys_id do novo registro de execução de ação de Rcorretiva ou registro de execução de ação corretiva simultânea duplicado
    <Object>.ParentRecord Sys_id do registro primário do registro de execução de ação corretiva simultânea duplicado.
    <Object>.ParentTable Nome da tabela do registro primário do registro de execução de ação corretiva simultânea duplicado.

    O exemplo a seguir mostra como iniciar qualquer ação corretiva. Aqui, a ação corretiva usa uma Ação de IC internamente para encerrar um processo em um IC.

    var remedialAction = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of the Action
    var parentTable = "incident"; //table name of the Parent record
    var parentRecord = "62733787871e25105763ec6d0ebb3579" //sys_id of the Parent record
    var actionParams = {
        process_id: "322113"
    }
    var targetRecord = "af57a3418775e5105763ec6d0ebb356d"; //sys_id of the Target record
    var originRecord = "26e78022c3d525104f1a722e3f40dd99"; //sys_id of the Origin record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var response = remedialActionEngine.beginRemediation(remedialAction, parentTable, parentRecord, actionParams, targetRecord, originRecord);
     
    gs.info(JSON.stringify(response));
    

    Objeto de saída:

    Case 1 :successful : 
    {
      ‘statusCode’: ‘successful’,
      ‘actionExecutionRequestId: ‘979b6060a5954300964fa3aa92874155’
    
    }
    
    Case 2 :Duplicate : 
    {
      ‘statusCode’: ‘duplicate_request,
      ‘actionExecutionRequestId’: ‘552c48888c033300964f4932b03eb092’,
      ‘parentRecord’ : ‘1a14620f973be110539e35d11153afc8’,
      ‘parentTable’: ‘incident’
    
    }
    
    Case 3 : Failed 
    {
      ‘statusCode’: ‘failed,
    }
    

    RemedialActionEngine - canCanCancel(cadeia de caracteres remedialActionExecution)

    Este método é usado para verificar se o usuário atual pode ou não cancelar a execução da ação corretiva fornecida.

    Nota:
    Ao definir parâmetros de solicitação, lembre-se de que:
    • Se o tipo de parâmetro for um objeto ou matriz, defina cada propriedade e seu tipo.
    • Se o tipo de parâmetro for GlideRecord, forneça a tabela associada em sua solicitação.
    Tabela 3. Parâmetros
    Nome Tipo Descrição
    CorrectialActionExecution String ou GlideRecord Sys_id ou GlideRecord da tabela Execução da ação corretiva [sn_reacf_remedial_action_execution].
    Tabela 4. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a solicitação de execução da ação corretiva pode ou não ser cancelada.

    Valores válidos:
    • Verdadeiro: A solicitação de execução da ação corretiva especificada pode ser cancelada.
    • Falso: A solicitação de execução da ação corretiva especificada não pode ser cancelada.

    O exemplo a seguir mostra como validar se o usuário atual pode cancelar qualquer execução de ação corretiva em seu estado atual.

    var remedialActionExecutionId = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of sn_reacf_remedia_action_execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var canCancel = remedialActionEngine.canCancel(remedialActionExecutionId)
    
    gs.info("canCancel: " + canCancel);
    

    Saída:

    canCancel: true

    RemedialActionEngine - cancelExecution (cadeia de caracteres remedialActionExecution)

    Cancela uma solicitação de execução de ação corretiva, atualiza o registro de execução para o estado "Cancelado" e retorna verdadeiro após o sucesso.

    Nota:
    Ao definir parâmetros de solicitação, lembre-se de que:
    • Se o tipo de parâmetro for um objeto ou matriz, defina cada propriedade e seu tipo.
    • Se o tipo de parâmetro for GlideRecord, forneça a tabela associada em sua solicitação.
    Tabela 5. Parâmetros
    Nome Tipo Descrição
    CorrectialActionExecution String ou GlideRecord Sys_id ou GlideRecord da tabela Execução da ação corretiva [sn_reacf_remedial_action_execution].
    Tabela 6. Retornos
    Tipo Descrição
    Booliano

    Sinalizador que indica se a solicitação de execução da ação corretiva pode ou não ser cancelada.

    Valores válidos:
    • Verdadeiro: A solicitação de execução da ação corretiva especificada foi cancelada com sucesso. Um status verdadeiro atualiza o registro de execução para o estado "Cancelado".
    • Falso: A solicitação de execução da ação corretiva especificada não foi cancelada com sucesso.

    O exemplo a seguir mostra como cancelar qualquer execução de ação corretiva de seu estado atual.

    var remedialActionExecutionId = "9ef9924c436521101a24ff53e9b8f2d2" //sys_id of sn_reacf_remedia_action_execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var cancelExecution = remedialActionEngine.cancelExecution(remedialActionExecutionId)
    
    gs.info(‘cancelExecution: ’ + cancelExecution);

    Saída:

    cancelExecution : true

    RemedialActionEngine - executeRemedialAction (cadeia de caracteres remedialActionExecution)

    Aciona qualquer execução de ação corretiva que foi iniciada e está no estado Pronto no momento. Este método inicia a Ação Direcionada (por exemplo, Ação de IC) e move o estado de execução da ação corretiva para "Em andamento".

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    CorrectialActionExecution String ou GlideRecord Sys_id ou GlideRecord da tabela Execução da ação corretiva [sn_reacf_remedial_action_execution].
    Tabela 8. Retornos
    Tipo Descrição
    Objeto

    O objeto contém action_execution_table e action_execution_id da execução da ação corretiva.

    {
       “action_execution_table”: “String”,
       “action_execution_id”: “Sys_id”
    }
    

    O exemplo a seguir mostra como executar qualquer ação corretiva.

    var remedialActionExecution = "8ed58be387d2a5100295ebd73cbb35a3"; //Sys_id of the Remedial Action Execution record 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var response = remedialActionEngine.executeRemedialAction(remedialActionExecution); 
    gs.info("Response: " + JSON.stringify(response, null, 2));

    Saída:

    { 
      "action_execution_table": "sn_cimaf_action_request", 
      "action_execution_id": "2d7843a787d2a5100295ebd73cbb35d4" 
    }

    RemedialActionEngine - getRemedialActionOutput (cadeia de caracteres remedialActionExecution)

    Obtém o status de execução atual e a carga de saída da Ação de destino.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    CorrectialActionExecution String ou GlideRecord Sys_id ou GlideRecord da tabela Execução da ação corretiva [sn_reacf_remedial_action_execution].
    Tabela 10. Retornos
    Tipo Descrição
    Objeto

    O objeto contém o objeto de status com valor e valor de exibição do status da ação de destino e a matriz de carga com as saídas da ação de destino executadas como parte da execução da ação corretiva.

    Tipo de dados: Cadeia de caracteres

    {
      "status": {
        "value": "completed",
        "displayValue": "Completed"
      },
      "payload": [
        "{\"output\":\"SUCCESS: The process with PID 19604 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 19604 /f\"}"
      ]
    }

    O exemplo a seguir mostra como obter o status de execução atual e a carga de saída da Ação de destino.

    var remedialActionExecution = "8ed58be387d2a5100295ebd73cbb35a3"; //sys_id of the Remedial Action Execution record
    
    var remedialActionEngine = new sn_reacf.RemedialActionEngine();
    var response = remedialActionEngine.getRemedialActionOutput(remedialActionExecution);
    
    gs.info("Response: " + JSON.stringify(response, null, 2));
    

    Saída:

    {
      "status": {
        "value": "completed",
        "displayValue": "Completed"
      },
      "payload": [
        "{\"output\":\"SUCCESS: The process with PID 19604 has been terminated.\\r\\n\",\"cmd\":\"taskkill /pid 19604 /f\"}"
      ]
    }

    RemedialActionEngine - isApplicable (cadeia de caracteres remedialAction, cadeia de caracteres targetRecord)

    Verifica a aplicabilidade de qualquer ação corretiva em relação a um registro de destino.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    Ação corretiva String ou GlideRecord Sys_id ou internal_name ou GlideRecord da tabela Ação corretiva [sn_reacf_remedial_action].
    targetRecord String ou GlideRecord Sys_id ou GlideRecord da tabela de destino configurada.
    Tabela 12. Retornos
    Tipo Descrição
    Booliano
    Sinalizador que indica a aplicabilidade do registro de destino para a ação corretiva.
    • Verdadeiro: A ação corretiva é aplicável ao registro de destino especificado.
    • Falso: A ação corretiva não é aplicável ao registro de destino especificado.

    O exemplo a seguir mostra como verificar a aplicabilidade de qualquer ação corretiva em relação a um registro de destino.

    var remedialAction = "9ef9924c436521101a24ff53e9b8f2d2"; //Sys_id of the Remedial Action Execution record 
    var targetRecord = "df3799a387a921100295ebd73cbb35c4"; //Sys_id of the Target Record 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var isApplicable = remedialActionEngine.isApplicable(remedialAction, targetRecord); 
    gs.info("Is applicable: " + isApplicable);

    Saída:

    Is applicable: true

    RemedialActionEngine - isAuthorized(cadeia de caracteres remedialAction)

    Verifica se o usuário está autorizado a executar a ação corretiva.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    Ação corretiva String ou GlideRecord Sys_id ou internal_name ou GlideRecord da tabela Ação corretiva [sn_reacf_remedial_action].
    Tabela 14. Retornos
    Tipo Descrição
    Booliano

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

    • Verdadeiro: A autorização do usuário foi bem-sucedida.
    • Falso: A autorização do usuário não foi bem-sucedida.

    O exemplo a seguir mostra como verificar a autorização para executar qualquer ação corretiva.

    var actionSysId = "e62f550843e121101a24ff53e9b8f23b"; //Sys_id of the Action 
     
    var remedialActionEngine = new sn_reacf.RemedialActionEngine(); 
    var isAuthorized = remedialActionEngine.isAuthorized(actionSysId); 
    gs.info("Is user authorized: " + isAuthorized);

    Saída:

    Is user authorized: true