Name

sn_sow_em.EmRfCommons

Description

No description available

Script

var EmRfCommons = Class.create();
EmRfCommons.prototype = {
  
  initialize: function() {
      this.evtMgmtCommons = new global.EvtMgmtCommons();

      //Constants
      this.TOP_N_RESULTS = this.getformatedTopN();

      //Incident constants
      this.INCIDENT_RECORD_NAME = "incident_record";
      this.INCIDENT_RECORD_LABEL = "Incident Record";

      //KB constants
      this.KB_RECORD_NAME = 'knowledge_article';
      this.KB_LABEL = 'Knowledge Article';
      this.KB_PREFIX = 'kb_knowledge:'; // prefix of sys_id returned by the KB search request

      //Alert constants
      this.ALERT_RECORD_LABEL = "Alert Record";
      this.ALERT_RECORD_NAME = "alert_record";
      this.CONFIDNECE_SCORE = "confidence_score";
  },

  getformatedTopN: function() {
  	var topN = gs.getProperty("evt_mgmt.recommendation_framework_top_N_results", 10);
      if (isNaN(topN)) {
         topN = parseInt(topN) || 10;
      }
  	return topN;
  },

  insertResultsToArray: function(gr, recordName, recordField) {
      var evaluationOutputs = [];
      while (gr.next()) {
          var singlePrediction = {};
          singlePrediction[recordName] = gr.getValue(recordField);
          evaluationOutputs.push(singlePrediction);
      }
      return evaluationOutputs;
  },
  
  insertAlertsToResultArray: function(gr, recordField) {
      return this.insertResultsToArray(gr, this.ALERT_RECORD_NAME, recordField);
  },
  
  insertIncidentsToResultArray: function(gr, recordField) {
      return this.insertResultsToArray(gr, this.INCIDENT_RECORD_NAME, recordField);
  },

  logErrorMessage: function(scriptName, currentAlertNumber, currentSysId, execption) {
      var exception = this.evtMgmtCommons.getExceptionMessage(execption, true);
      var errorMessage = scriptName + " - Fail to process recommendation for Alert: " + currentAlertNumber + " ( " + currentSysId + " ) \n";
  	errorMessage+= "Error Message: " + exception;
      gs.error(errorMessage);
      return errorMessage;
  },

  logStartTime: function(scriptName, currentAlertNumber) {
      if (this.isLogDebugRecommendationsEnabled()) {
          gs.info(scriptName + ' - recomendation evaluation for ' + currentAlertNumber + ' has started.');
      }
  },

  logEndTime: function(scriptName, currentAlertNumber, startTimeGdt) {
      if (this.isLogDebugRecommendationsEnabled()) {
          var logStr = scriptName + ' - recommendation evaluation for ' + currentAlertNumber + ' has ended successfully. \n';
          logStr += 'Total time (ms): ' + (new GlideDateTime().getNumericValue() - startTimeGdt.getNumericValue()) + '\n';
          gs.info(logStr);
      }
  },

  logNumberOfResults: function(scriptName, currentAlertNumber, numberOfResults) {
      if (this.isLogDebugRecommendationsEnabled()) {
          var message = scriptName + " - number of recommendation records for Alert: " + currentAlertNumber + " is " + numberOfResults;
          gs.info(message);
      }
  },

  //write to log if recommendation framework log is enabled OR evt_mgmt debug is enabled
  isLogDebugRecommendationsEnabled: function() {
      return (gs.getProperty('evt_mgmt.recommendation_framework_enable_debug', 'false') == 'true') || this.evtMgmtCommons.isDebugEnabled();
  },

  type: 'EmRfCommons'
};

Sys ID

99b076c74f010110b34cb38b43ce0bdd

Offical Documentation

Official Docs: