- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-28-2022 11:31 AM
Step 1 : I have created a custom field named "datacertificationstatus" on cmdb_ci table
Step 2 : In OOB data certification task, if any element is certified then associated CIs in cmdb_ci table should display value as "certified" for the above custom field created in cmdb_ci table
if we certify above elements then respective CIs in cmdb_ci table should display value as "certified" for the custom field "datacertificationstatus" in cmdb_ci table
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-04-2022 12:15 AM
Hi
There was a flaw in the script shared before where I forgot to pass the parameter correctly when it need to be certified.
So have updated the script , please use the same and test. I have tested it and works fine for me now.
(function executeRule(current, previous /*null when async*/ ) {
// Add your code here
var getCI = current.id;
var gettargetTable = current.table;
var getAllDetails = CheckCIColumn(getCI);
if (getAllDetails == true) {
updateCI(gettargetTable,getCI);
}
function CheckCIColumn(CI) {
var gr = new GlideRecord('cert_audit_result');
gr.addQuery('id', CI);
gr.addQuery('state','Pending'); // This will check if there are any un Certified records or not.
gr.query();
if (gr.next()) {
gs.info('There are still record which are not certified. So please certify first');
return false;
}else{
return true;
}
}
function updateCI(gettargetTable,getCI) {
var gr = new GlideRecord(gettargetTable);
gr.addQuery('sys_id', getCI);
gr.query();
if (gr.next()) {
gr.short_description = 'certified'; // Please make sure to replace "certified" with its correct back end value here and and also replace "FieldName" with the correct field name which you want to set.
gr.update();
}
}
})(current, previous);
Hope this helps. Please mark the answer as correct/helpful based on impact.
Regards,
Shloke
Regards,
Shloke
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-04-2022 12:15 AM
Hi
There was a flaw in the script shared before where I forgot to pass the parameter correctly when it need to be certified.
So have updated the script , please use the same and test. I have tested it and works fine for me now.
(function executeRule(current, previous /*null when async*/ ) {
// Add your code here
var getCI = current.id;
var gettargetTable = current.table;
var getAllDetails = CheckCIColumn(getCI);
if (getAllDetails == true) {
updateCI(gettargetTable,getCI);
}
function CheckCIColumn(CI) {
var gr = new GlideRecord('cert_audit_result');
gr.addQuery('id', CI);
gr.addQuery('state','Pending'); // This will check if there are any un Certified records or not.
gr.query();
if (gr.next()) {
gs.info('There are still record which are not certified. So please certify first');
return false;
}else{
return true;
}
}
function updateCI(gettargetTable,getCI) {
var gr = new GlideRecord(gettargetTable);
gr.addQuery('sys_id', getCI);
gr.query();
if (gr.next()) {
gr.short_description = 'certified'; // Please make sure to replace "certified" with its correct back end value here and and also replace "FieldName" with the correct field name which you want to set.
gr.update();
}
}
})(current, previous);
Hope this helps. Please mark the answer as correct/helpful based on impact.
Regards,
Shloke
Regards,
Shloke
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-04-2022 04:44 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-20-2024 08:34 AM
Afternoon. A few questions.
1. Where was your original script placed/written in the system? BR?
2. Why is the Cert instance/Task NOT marking cmdb_ci_business_app records certified out of box?