Name

sn_agent.CancelHandler

Description

Handler function for canceling on the agent

Script

var CancelHandler = Class.create();
CancelHandler.prototype = Object.extendsObject(global.AbstractAjaxProcessor, {
  cancelTestResult: function() {
  	var testId = this.getParameter('sysparm_test_result_id');
  	this.internalCancelTestResult(testId);
  },

  internalCancelTestResult: function(testId) {
  	var testResultGr = new GlideRecord("sn_agent_test_result");
  	testResultGr.addQuery('sys_id', testId);
  	testResultGr.query();

  	if (!testResultGr.next()) {
  		gs.info("testResultGr not found");
  		return;
  	}
  		
  	var request_id = testResultGr.getValue("agent_request");

  	var agentRequestGr = new GlideRecord("sn_agent_request");
  	agentRequestGr.addQuery('sys_id', request_id);
  	agentRequestGr.query();

  	if (!agentRequestGr.next()) {
  		gs.info("agentRequestGr not found");
  		return;
  	}

  	var checkJSON = agentRequestGr.getValue("check");
  	var check = JSON.parse(checkJSON);

  	var agentInfoGr = new GlideRecord("sn_agent_ci_extended_info");
  	var agent = testResultGr.getValue("agent"); // Grab agent from the sn_agent_test_result query

  	agentInfoGr.addQuery('sys_id', agent);
  	agentInfoGr.query();

  	if (!agentInfoGr.next()){
  		gs.info("agentInfoGr not found");
  		return;
  	}
  	var hostCi = agentInfoGr.getValue("cmdb_ci");

  	var ciGR = new GlideRecord("cmdb_ci_computer");
  	ciGR.addQuery('sys_id', hostCi);
  	ciGR.query();

  	var cancelCheck = {};
  	cancelCheck['checkDefId'] = "0750c77a43279910e98cc996cbb8f2fd";
  	cancelCheck['check_type_id'] = "578da0c843e7d510e98cc996cbb8f20e";
  	cancelCheck['params'] = { "check": request_id };

  	var agentHandler = new AgentNowHandler();
  	var cancel_request = agentHandler.runCheckForCis(ciGR, cancelCheck, '0', 600);

  },

  type: 'CancelHandler'
});

Sys ID

efab524d437f1d10e98cc996cbb8f2c9

Offical Documentation

Official Docs: