- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-17-2023 06:11 PM
Hello,
I've a requirement where I need to automatically create a change request from a catalog task. I've a catalog task in a workflow named 'change request catalog task'. On this task I'm asking assigned to user to Input below fields
var chg = new GlideRecord ("change_request");
chg.initialize();
chg.applyTemplate("Normal Change");
chg.short_description = current.variables.short_description;
chg.description = current.variables.description;
chg.justification = current.variables.description;
chg.u_auto_created = 'true';
//chg.work_notes = "This changes request was created part of" + gr.number ;
chg.parent=current.sys_id;
chg.cab_date = task.u_cab_date;
var id=chg.insert();
var gr=new GlideRecord ("change_request");
gr.get(id);
current.comments="Normal Change " + gr.number + " has been created";
Once the above fields are updated I need to automatically create a change request and Once the associated change request is closed, I need to close the 'change request catalog task'
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-17-2023 07:48 PM
Try modify the following script according to your need.
(function execute() {
// Get the current Catalog Task record
var currentTask = new GlideRecord('sc_task');
if (currentTask.get(current.sys_id)) {
// Create a new Change Request record
var changeReq = new GlideRecord('change_request');
changeReq.initialize(); // Initialize a new record
// Map fields from the Catalog Task to the Change Request
changeReq.short_description = currentTask.short_description;
changeReq.description = currentTask.description;
// Map other relevant fields...
// Set the change type, urgency, impact, etc.
changeReq.change_type = 'Standard'; // Change type example
changeReq.urgency = currentTask.urgency;
changeReq.impact = currentTask.impact;
// Set the assignment group and assigned to based on your logic
changeReq.assignment_group = currentTask.assignment_group;
changeReq.assigned_to = currentTask.assigned_to;
// Insert the Change Request record
var changeReqSysID = changeReq.insert();
if (changeReqSysID) {
gs.log('Change Request ' + changeReqSysID + ' created from Catalog Task ' + currentTask.number);
} else {
gs.error('Failed to create Change Request from Catalog Task ' + currentTask.number);
}
}
})();
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-17-2023 07:48 PM
Try modify the following script according to your need.
(function execute() {
// Get the current Catalog Task record
var currentTask = new GlideRecord('sc_task');
if (currentTask.get(current.sys_id)) {
// Create a new Change Request record
var changeReq = new GlideRecord('change_request');
changeReq.initialize(); // Initialize a new record
// Map fields from the Catalog Task to the Change Request
changeReq.short_description = currentTask.short_description;
changeReq.description = currentTask.description;
// Map other relevant fields...
// Set the change type, urgency, impact, etc.
changeReq.change_type = 'Standard'; // Change type example
changeReq.urgency = currentTask.urgency;
changeReq.impact = currentTask.impact;
// Set the assignment group and assigned to based on your logic
changeReq.assignment_group = currentTask.assignment_group;
changeReq.assigned_to = currentTask.assigned_to;
// Insert the Change Request record
var changeReqSysID = changeReq.insert();
if (changeReqSysID) {
gs.log('Change Request ' + changeReqSysID + ' created from Catalog Task ' + currentTask.number);
} else {
gs.error('Failed to create Change Request from Catalog Task ' + currentTask.number);
}
}
})();
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-17-2023 09:19 PM - edited 08-17-2023 09:26 PM
Hello @varaprasad123,
Thank you for your response!
The script is working as intended, but our change request's has 'Request for approval' UI action, sends the request for approval when clicked. How do I call the UI action in the script mentioned above?
After the auto created change is closed how do I close the catalog task automatically?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-15-2024 02:11 AM
Did you manage to solve it?
For requirement 1, I think this should be invoked as part of "after creation" business rule action/scripts.
For requirement 2, I think you can do same script when CRQ is closed to revert back and close the Task/request.
Not sure actually about my advice it will work, but those can be one of the available options.