To copy variable's value into a journal type field

Poorva Bhawsar
Mega Sage

Hi Community,

 

I have few select box variables, if user selects the value of those variables as rejected, rejection reason field will populate. I want to copy the value of those variables if they are rejected along with the rejection reason from sctask to another table's journal type field.

 

I am thinking about the logic like if xyz == rejected && rejection reason != '' then need to add them in that journal field. If those are not rejected, those i approved i dont want to add them in this journal field.

 

Thanks,

Poorva Bhawsar

 

1 ACCEPTED SOLUTION

Hi @Poorva Bhawsar the error is below

var answer = [];
var server_name = current.variables.server_name_s.toString();
var arr = server_name.split(',');
for (var i = 0; i < arr.length; ++i) {
var grCI = new GlideRecord('cmdb_ci_server');
grCI.addEncodedQuery('sys_idIN' + server_name.toString());//replace to arr[i]

to

grCI.addEncodedQuery('sys_idIN' + arr[i]);
grCI.query();
while (grCI.next()) {
//gs.log("Inside the l

Regards
Harish

View solution in original post

35 REPLIES 35

You can add all the variables inside if condition, no need to gliderecord again.

example:

gr.u_deviation_notes += "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason3 +'<br>'+ "Failed :" + current.vendor_support_in_place_approval ;

if (current.variables.shutdown_started_tested_approval == 'failed' && current.variables.rejection_reason9 != '')
gr.u_deviation_notes += +current.variables.rejection_reason9;

Regards
Harish

But i have multiple if conditions and for multiple if conditions i want to add deviation notes as different for all. According to the code you have given, under if condition i need to gliderecord that. But what if i have multiple if conditions. How it will work?

Hi @Poorva Bhawsar you can concatenate like this


var gr = new GlideRecord('tablename'); //table you want to copy variable value
gr.addQuery('parent', current.sys_id); // parent field from your table holds sc task sysID
gr.query();
if(gr.next()){
gr.u_deviation_notes += "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason3 +'<br>'+ "Failed :" + current.vendor_support_in_place_approval;

if(cond1)

gr.u_deviation_notes += "Variable Question: " + current.variables.variablename;

if(cond2)

gr.u_deviation_notes += "Variable Question: " + current.variables.variablename;

if(cond3)

gr.u_deviation_notes += "Variable Question: " + current.variables.variablename;

gr.update();
}

}

Regards
Harish

I am doing exactly same now. But its not updating the deviation notes field.

 

Here is the updated code.

 

    var gr = new GlideRecord('cmdb_ci_server');
    gr.addQuery('parent', current.sys_id);
    gr.query();
    if (gr.next()) {
        if (current.variables.vendor_support_in_place_approval == 'failed' && current.variables.rejection_reason3 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason3 + '<br>' + "Failed :" + current.vendor_support_in_place_approval;
        if (current.variables.built_as_per_soe_approval == 'failed' && current.variables.rejection_reason1 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason1 + '<br>' + "Failed :" + current.variables.built_as_per_soe_approval;
        if (current.variables.infra_design_document_isc_isd_approval == 'failed' && current.variables.rejection_reason5 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason5 + '<br>' + "Failed :" + current.variables.infra_design_document_isc_isd_approval;
        if (current.variables.db_monitoring_tested_approval == 'failed' && current.variables.rejection_reason7 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason7 + '<br>' + "Failed :" + current.variables.db_monitoring_tested_approval;
        if (current.variables.shutdown_started_tested_approval == 'failed' && current.variables.rejection_reason9 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason9 + '<br>' + "Failed :" + current.variables.shutdown_started_tested_approval;
        if (current.variables.version_is_atleast_tweleve_month_from_vendor_eos_approval == 'failed' && current.variables.rejection_reason2 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason2 + '<br>' + "Failed :" + current.variables.version_is_atleast_tweleve_month_from_vendor_eos_approval;
        if (current.variables.pre_doat_checklist_approval == 'failed' && current.variables.rejection_reason4 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason4 + '<br>' + "Failed :" + current.variables.pre_doat_checklist_approval;
        if (current.variables.built_as_per_design_approval == 'failed' && current.variables.rejection_reason8 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason8 + '<br>' + "Failed :" + current.variables.built_as_per_design_approval;
        if (current.variables.backup_restore_tested_approval == 'failed' && current.variables.rejection_reason6 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason6 + '<br>' + "Failed :" + current.variables.backup_restore_tested_approval;
        if (current.variables.non_prod_oat_is_passed_approval == 'failed' && current.variables.rejection_reason11 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason11 + '<br>' + "Failed :" + current.variables.non_prod_oat_is_passed_approval;
        if (current.variables.patching_automated_approval == 'failed' && current.variables.rejection_reason10 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.rejection_reason10 + '<br>' + "Failed :" + current.variables.patching_automated_approval;
        if (current.variables.csrc_patching_cadence == 'failed' && current.variables.sr_rejection_reason2 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.sr_rejection_reason2 + '<br>' + "Failed :" + current.variables.csrc_patching_cadence;
        if (current.variables.database_onboarded_to_siem_confirmation_approval == 'failed' && current.variables.sr_rejection_reason3 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.sr_rejection_reason3 + '<br>' + "Failed :" + current.variables.database_onboarded_to_siem_confirmation_approval;
        if (current.variables.server_privilaged_account_onboarded_to_piam == 'failed' && current.variables.sr_rejection_reason4 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.sr_rejection_reason4 + '<br>' + "Failed :" + current.variables.server_privilaged_account_onboarded_to_piam;
        if (current.variables.account_management_onboarded_to_uam_approval == 'failed' && current.variables.sr_rejection_reason5 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.sr_rejection_reason5 + '<br>' + "Failed :" + current.variables.account_management_onboarded_to_uam_approval;
        if (current.variables.cis_scan_nessus_scan_passed_confirmation_approval == 'failed' && current.variables.sr_rejection_reason6 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.number, "Rejected Reason :" + current.variables.sr_rejection_reason6 + '<br>' + "Failed :" + current.variables.cis_scan_nessus_scan_passed_confirmation_approval;
        if (current.variables.ds_am_av_and_network_protect_with_ips_policy_is_set_to_prevent_or_ms_defender_installed == 'failed' && current.variables.sr_rejection_reason7 != '')
            gr.u_deviation_notes = "Requested Number: " + current.variables.sr_rejection_reason7 + '<br>' + "Failed :" + current.variables.ds_am_av_and_network_protect_with_ips_policy_is_set_to_prevent_or_ms_defender_installed;
        gr.update();
    }

Hi @Poorva Bhawsar your code is not working because on cmdb_ci_server table we donot have a field called "parent", so the code is failing, the below line

gr.addQuery('parent', current.sys_id); // you need to pass correct field name here,  parent field is invalid

Regards
Harish