Run a test load data from script calling processor

this is a modified version of the 'test load 20 records' ui action
create this as a copy
in the condition, add a condition to restrict it to the data source in question
in this example a file import

instead of having to redirect to the sys_import.do java processor, this can be done in script as follows:
(instance calls itself via httprequest to access the processor, this can enable users without permissions but who can see the UI action to perform a test load on the data source with the file attached)
-------------


current.update();
 //--below is OOTB code, commented out but principles reused
/*var redirectStr = "sys_import.do?"; // the URI
redirectStr += "import_source=data_source"; // this is a Data Source import
redirectStr += "&sysparm_data_source=" + current.sys_id; // the sys_id of this
redirectStr += "&sysparm_tablename=" + current.import_set_table_name; // always create the same test
redirectStr += "&sysparm_recreate_table=false"; // we dont want to overwrite existing
redirectStr += "&sysparm_tablelabel=" + current.name;
redirectStr += "&create_new_module=ON";
redirectStr += "&sysparm_extends=sys_import_set_row"; // always extends this
redirectStr += "&selected_application=import_sets";
redirectStr += "&sysparm_default_state=test";
redirectStr += "&max_rows=2"; // change this number if you want more test rows*/

try{
           
            var url='https://<your_instance>.service-now.com/'+'sys_import.do';
//--credentials must correspond to a user with the correct permissions e.g. rest_service, within SN
            var request=new GlideHTTPRequest(url);
            request.setBasicAuth("servicenowuser", "servicenowpwd");
            request.addHeader('Accept', 'application/json');
            request.addParameter('import_source', 'data_source');
            request.addParameter('sysparm_data_source', current.sys_id);
            request.addParameter('sysparm_tablename', current.import_set_table_name);
            request.addParameter('sysparm_recreate_table', 'false');
            request.addParameter('create_new_module', 'ON');
            request.addParameter('sysparm_extends', 'sys_import_set_row');
            request.addParameter('selected_application', 'import_sets');
            request.addParameter('sysparm_default_state', 'test');
            request.addParameter('max_rows', '2');
            var response=request.get();
            gs.log('TESTRESP:' + response.getStatusCode(), 'processorresp');
           
          
           
           
}catch (ex){
            gs.addInfoMessage('error');
            gs.log(ex.toString(), 'processorErr');

var info = "Test loading 2 rows - ";

info += "<a style='text-decoration:underline;color:blue' href=sys_data_source.do?sys_id=" + current.sys_id + ">Return to data source</a><img width='3' src='images/s.gif'/>";

gs.addInfoMessage(info + '---TEST');
action.setRedirectURL(current);

Comments

Popular posts from this blog

Running transform maps asynchronously

Post a command to the ECC queue for the mid server to initiate a powershell file copy

GlideRecord setValue