Name

sn_em_connector.PushConnectorInstanceUtils

Description

Apply Push connector Instance specific changes

Script

var PushConnectorInstanceUtils = Class.create();
PushConnectorInstanceUtils.prototype = {
  initialize: function() {},

  updateAdditionalInfoWithConnectorTags: function(additionalInfo, connectorTags) {
      connectorTags = connectorTags ? "" + connectorTags : connectorTags;
      var tagJson = null;
      if (connectorTags && connectorTags.length > 0) {
          tagJson = JSON.parse(connectorTags);
      }

      if (!tagJson)
          return;

      for (var tagName in tagJson) {
          additionalInfo[tagName] = tagJson[tagName];
      }
  },

  populateFieldInEvents: function(eventGr, fieldValueMap) {
      if (!fieldValueMap || fieldValueMap.length == 0)
          return;

      if (eventGr && eventGr.isValidRecord()) {
          try {
              for (var fieldName in fieldValueMap) {
                  if (eventGr.isValidField(fieldName)) {
                      eventGr[fieldName] = fieldValueMap[fieldName];
                  }
              }
          } catch (e) {
              gs.log("ERROR populateFieldInEvents: failed to populate fields in events " + e);
          }
      }
  },

  getConnectorTags: function(connectorInstanceId) {
      // System property added to disable connector tags functionality.
      var connectorTagsEnabled = gs.getProperty('evt_mgmt.connector_tags_enabled', 'true');
      if (connectorTagsEnabled != 'true')
          return null;

      // Connector tags are stored in 'sn_itom_integ_app' plugin so, tag functionality is available when this plugin is installed.
      // Before retrieving connector tags, first check if the 'sn_itom_integ_app' plugin is installed and call api to fetch tags only when its installed.
      var pluginManager = new GlidePluginManager();
      if (pluginManager.isActive('sn_itom_integ_app') && typeof sn_itom_integ_app.ConnectorTagsUtil !== 'undefined') {
          return new sn_itom_integ_app.ConnectorTagsUtil().getConnectorTags(connectorInstanceId);
      }
      return null;
  },

  getMidServerWithAtleastOneEventListener: function() {
      var responseObject = [];

      var gr = new GlideRecord('ecc_agent');
      gr.addQuery('status', 'Up');
      gr.addQuery('validated', true);
      var gr1 = gr.addJoinQuery('ecc_agent_ext_context_event', 'sys_id', 'executing_on');
      gr1.addCondition('status', 'Started');
      gr.query();

      while (gr.next()) {
          var data = {};
          data.id = gr.getValue('sys_id');
          data.name = gr.getValue('name');
          responseObject.push(data);
      }
      return responseObject;
  },

  type: 'PushConnectorInstanceUtils'
};

Sys ID

cdd824e3530821109472ddeeff7b1205

Offical Documentation

Official Docs: