creating Request and Tasks from Scheduled Job
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-16-2022 04:19 AM
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
- Labels:
-
Multiple Versions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-16-2022 08:36 AM
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-16-2022 08:38 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-16-2022 09:04 AM
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-16-2022 09:58 AM
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-16-2022 10:11 AM
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