Create rule to delete child VSTs when a VSR is deleted
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-08-2024 03:24 AM - edited 03-08-2024 03:26 AM
When a Vulnerability Scan is deleted, we want a business rule to also delete any Vulnerability Tasks with the Deleted Vulnerability Scan referenced in the ‘Vulnerability scan’ field of theVulnerability task
Here is the business rule:
(function executeRule(current, previous /*null when async*/) {
// Create array
var qList = [];
// Get variable sets related to item
var vsr = new GlideRecord('io_set_item');
vsr.addQuery('sc_cat_item', current.request_item.cat_item.sys_id);
vsr.query();
// Get variables for each set
while (vsr.next()) {
var vs = new GlideRecord('item_option_new');
vs.addQuery('variable_set', vsr.variable_set);
vs.addQuery('active', true);
vs.addQuery('global', false);
vs.query();
while (vs.next()) {
var id = vs.sys_id.toString();
qList.push(id);
}
}
// Update existing records
for (var i = 0; i < qList.length; i++) {
var ivt = new GlideRecord('sc_item_variables_task');
ivt.addQuery('task', current.sys_id);
ivt.addQuery('variable', qList[i]);
ivt.query();
if (ivt.next()) {
// Update existing record
ivt.variable = qList[i];
ivt.update();
}
}
})(current, previous);
0 REPLIES 0