Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Background Script to update Date Fields

Community Alums
Not applicable

Hi all,

 

I have to update some records in Change table i.e i have to set work start with created date , work end with created +30 seconds .

I have written like below but not working

Can you please help

var gr= new GlideRecord('change_request');
gr.addEncodedQuery('short_descriptionLIKEISPW-change^active=true^sys_created_by=ispw');
gr.setLimit(2);
gr.query();
while(gr.next())
{
gr.work_start = gr.sys_created_on;
gr.requested_by_date = gr.sys_created_on;
var date = new GlideDateTime('sys_created_on');
gr.work_end = date.addSeconds(10);
gr.update();
}

1 ACCEPTED SOLUTION

VigneshMC
Mega Sage

Try

var gr= new GlideRecord('change_request');
gr.addEncodedQuery('short_descriptionLIKEISPW-change^active=true^sys_created_by=ispw');
gr.setLimit(2);
gr.query();
while(gr.next())
{
gr.work_start = gr.sys_created_on;
gr.requested_by_date = gr.sys_created_on;
var date = new GlideDateTime(gr.sys_created_on);
date.addSeconds(30);
gr.setValue('work_end', date.getValue());
//gs.print(date.getValue());
gr.update();
}

View solution in original post

17 REPLIES 17

AbhishekGardade
Giga Sage

Hello developer,

Try adding milliseconds to date using below code.

 

var gr= new GlideRecord('change_request');
gr.addEncodedQuery('short_descriptionLIKEISPW-change^active=true^sys_created_by=ispw');
gr.setLimit(2);
gr.query();
while(gr.next())
{
gr.work_start = gr.sys_created_on;

gr.requested_by_date = gr.sys_created_on;

var date = new GlideDateTime(gr.sys_created_on); //you missed gr object here and dont use '' here.

// The milliseconds you want to get in the date 10 seconds = 10000 miliseconds

gr.work_end = date.add(10000);

gr.work_end = date.addSeconds(10);

gr.update();
}

Please mark as Correct Answer/Helpful, if applicable.
Thanks!
Abhishek Gardade
Hexaware Technologies

Thank you,
Abhishek Gardade

Community Alums
Not applicable

Not working Abhishek

VigneshMC
Mega Sage

Try

var gr= new GlideRecord('change_request');
gr.addEncodedQuery('short_descriptionLIKEISPW-change^active=true^sys_created_by=ispw');
gr.setLimit(2);
gr.query();
while(gr.next())
{
gr.work_start = gr.sys_created_on;
gr.requested_by_date = gr.sys_created_on;
var date = new GlideDateTime(gr.sys_created_on);
date.addSeconds(30);
gr.setValue('work_end', date.getValue());
//gs.print(date.getValue());
gr.update();
}

Community Alums
Not applicable

its working but i m getting that BR one so i gave gr.setWorkflow(false); not its not working

You're running this as Background script?