how to Encode and Decode script in Scoped Application

Supriya25
Tera Guru

Hi All,

Please help me on below issue,

 

How to Encode and Decode in scoped application, My below code NOT  working. kindly help me on it

 

Scheduled job :

 

 

var aaa = new GlideRecord('abcd scoped application table ');
    aaa.addQuery('sys_id','8596755d874569904e01a97d0ebb3539');
    aaa.query();
    if(aaa.next()) {
           var AssignedtoManager = aaa.assigned_to.manager.email;
            var AssignmentGrpManager = aaa.assignment_group.manager.email;
            var emails = {
                "AssignedtoManager": AssignedtoManager,
                "AssignmentGrpManager": AssignmentGrpManager
               }
           
var parser = new global.JSON();
var encrypt = parser.encode(emails);

gs.eventQueue('send_email',aaa,encypt,'');
}

 

 

 

Email Scipt:

 

 

var parser1= new global.JSON();
var decrypt = parser1.decode(event.parm1);

gs.info("decrypt :"+decrypt.AssignedtoManager+"----"+decrypt.AssignmentGrpManager);

 

 

 

 

gs.info("decrypt :"+decrypt.AssignedtoManager+"----"+decrypt.AssignmentGrpManager);

Getting result like Decrypt :{object object] 

 

 

how might be issue in my script please let me know.

5 REPLIES 5

Bert_c1
Kilo Patron

Hi,

I tried your scheduled job logic (in Scripts Background and using incident table that has the two fields) and I got your results. I checked the API documentation:

https://developer.servicenow.com/dev.do#!/reference/api/utah/server_legacy/c_JSONAPI#r_JSON-JSON?nav...

and came up with different syntax for constructing the 'emails' (a string), see:

var aaa = new GlideRecord('incident');
aaa.addQuery('sys_id','57af7aec73d423002728660c4cf6a71c');
aaa.query();
if(aaa.next()) {
        var AssignedtoManager = aaa.assigned_to.manager.email;
        var AssignmentGrpManager = aaa.assignment_group.manager.email;
        gs.info(AssignedtoManager + ", " + AssignmentGrpManager);

	var emails = '{"AssignedtoManager":"'+AssignedtoManager+'","AssignmentGrpManager":"'+AssignmentGrpManager+'"}';
	gs.info(emails);

	var parser = new global.JSON();
	var encrypt = parser.encode(emails);
	gs.info('parser = ' + parser.toString() + '.');
	gs.info('encrypt = ' + encrypt + '.');
//	gs.eventQueue('send_email',aaa,encypt,'');
}

check the results. there is a mis-spelling in the gs.eventQueue() "encypt" and not "encrypt".

Hi ,

Sorry for delay response on this, I was on medical leave .

 

thanks for your reply on this and tried your script. it is working.

 

I tried this way , but not working

var emails = {};
emails.AssignedtoManager=AssignedtoManager;
emails.AssignmentGrpManager=AssignmentGrpManager;

var parser = new global.JSON();
var encrypt = parser.encode(emails);

 

Result not coming, what might be the issue . Could you help me please?

 

 

 

Bert_c1
Kilo Patron

Hi,

My knowledge is limited to javascript and the platform APIs. Others can post on the email aspect. But I suspect they will need details on where the code you posted resides. What you have above is two variables (AssignedtoManager and AssignmentGrpManager) that aren't initialized to anything.

I declared two variables, result not getting .

if I use below format , code not giving any result.

 

var AssignedtoManager = aaa.assigned_to.manager.email;
var AssignmentGrpManager = aaa.assignment_group.manager.email;

var emails = {};
emails.AssignedtoManager=AssignedtoManager;
emails.AssignmentGrpManager=AssignmentGrpManager;

 

 

 

var aaa = new GlideRecord('incident');
aaa.addQuery('sys_id','57af7aec73d423002728660c4cf6a71c');
aaa.query();
if(aaa.next()) {
        var AssignedtoManager = aaa.assigned_to.manager.email;
        var AssignmentGrpManager = aaa.assignment_group.manager.email;
     
  var emails = {};
emails.AssignedtoManager=AssignedtoManager;
emails.AssignmentGrpManager=AssignmentGrpManager;

var parser = new global.JSON();
var encrypt = parser.encode(emails);
	
	gs.info('encrypt = ' + encrypt + '.');