creating Request and Tasks from Scheduled Job

Rahul Raja Sami
Tera Guru

I used this script to generate request and its respective task from Scheduled Job

var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
//give sys_id of catalog item
var item = cart.addItem('016a8e91872d0110d0d4ca27cebb35b2', 1);
cart.setVariable(item,"short_description", ' Monthly Report Update ');
cart.setVariable(item,"description", " Monthly Report Update" );
var rc = cart.placeOrder();

 

and I wanted to auto populate Assignment group,Assigned to & Sub category as well.

How to do it Please help

19 REPLIES 19

var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
//give sys_id of catalog item
var item = cart.addItem('016a8e91872d0110d0d4ca27cebb35b2', 1);
cart.setVariable(item, "short_description", ' Monthly Report Update ');
cart.setVariable(item, "description", " Monthly Report Update");
var rc = cart.placeOrder();

var req=rc.number;
var grScReqItem = new GlideRecord('sc_req_item');
grScReqItem.addEncodedQuery("request.number=" + req);
grScReqItem.query();
var ritm;
if (grScReqItem.next()) {
ritm = grScReqItem.sys_id;

}
gs.info("RITM Info "+ritm);
var grScTask = new GlideRecord('sc_task');
grScTask.initialize();
grScTask.request_item = ritm;
grScTask.assignment_group = '9efc96a71b2909105cf40f6cdc4bcb45';//map your group here
grScTask.assigned_to = 'ebb5217a87cd4910d0d4ca27cebb3505';
grScTask.u_sub_category = 'Tasks';

 Script I used , My requirement is to populate short description , description, Assgnment grp, assigned to & sub category

 

But this is what I am getting

find_real_file.png

Looks like this task is getting created from your workflow, so you can either map it in your workflow or use below script to update the task that is created from your flow.

If below code is not woking then check the logs and share the values here.

Test this in your background script.

var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
//give sys_id of catalog item
var item = cart.addItem('016a8e91872d0110d0d4ca27cebb35b2', 1);
cart.setVariable(item, "short_description", ' Monthly Report Update ');
cart.setVariable(item, "description", " Monthly Report Update");
var rc = cart.placeOrder();

var req=rc.number;
var grScReqItem = new GlideRecord('sc_req_item');
grScReqItem.addEncodedQuery("request.number=" + req);
grScReqItem.query();
var ritm;
if (grScReqItem.next()) {
ritm = grScReqItem.sys_id;

}
gs.info("RITM Info "+ritm); //logs
var grScTask = new GlideRecord('sc_task');

grScTask.addQuery('request_item', ritm);
grScTask.query();
gs.info("count of tasks"+grScTask.getRowCount());//logs
while (grScTask.next()) {
gs.info("CTASK Number"+grScTask.number);//logs
grScTask.assignment_group = '9efc96a71b2909105cf40f6cdc4bcb45';//map your group here
grScTask.assigned_to = 'ebb5217a87cd4910d0d4ca27cebb3505';
grScTask.u_sub_category = 'Tasks'; //use backend value
grScTask.update();
}

 


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP

var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
//give sys_id of catalog item
var item = cart.addItem('016a8e91872d0110d0d4ca27cebb35b2', 1);
cart.setVariable(item, "short_description", ' Monthly Sabrix Tax Update ');
cart.setVariable(item, "description", " Monthly Sabrix Tax Update");
var rc = cart.placeOrder();

var tsk = new GlideRecord('sc_task');
tsk.addQuery('request_item', rc.sys_id);
tsk.query();
while (tsk.next()) {

tsk.assignment_group = '9efc96a71b2909105cf40f6cdc4bcb45' // add your value

tsk.assigned_to = 'ebb5217a87cd4910d0d4ca27cebb3505' // add your value

tsk.u_sub_category = 'Tasks' //add your value

tsk.update();
}

 

I tried this and its working.

Thanks Rohila for your response

Hi Rahul

Not sure how above code worked because rc.sys_id holds the request(REQ) sys_id but not RITM sys_id.

tsk.addQuery('request_item', rc.sys_id);

but below line will work.

tsk.addQuery('request', rc.sys_id);


Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP