Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Approvals for users on list collectors depending on variable (workflow)

Magali Legaspi
Tera Contributor

Hello all!

 

I need urgent help with this issue. I need to create an approval for users present on two different list collector variables on a form with different conditions. I can't make the code work:

 

 

answer = myScript();

function myScript() {
approvers = [];
    var checkboxPartner = current.variables.check_here_if_partner_is_not;
    var budget = current.variables.budget_amount;
    // Partner Approval
    if (checkboxPartner == false) {
        approvers.push(current.variables.partner_sponsor_name.toString());
    }

    gs.log("Maga@ answer before script: " + approvers);
    // Budget Owner Approval
    if (budget == true) {
        approvers.push(current.variables.budget_holder_name.toString());
    }
gs.log("Maga@ answer after script: " + approvers);
answer = approvers;
return approvers;
}

 

 

partner_sponsor_name and budget_holder_name are the list collectors. I need to get all users from those two list collectors as approvers on approval user task on workflow.

Any help is much appreciated.

Thank you!

1 REPLY 1

Sandeep Rajput
Tera Patron
Tera Patron

@Magali Legaspi Update your code as follows and see it it works.

 

answer = myScript();

function myScript() {
approvers = [];
    var checkboxPartner = current.variables.check_here_if_partner_is_not;
    var budget = current.variables.budget_amount;
    // Partner Approval
    if (checkboxPartner == false) {
        //approvers.push(current.variables.partner_sponsor_name.toString());
        var sponsorArray = current.variables.partner_sponsor_name.split(',');
        for(var i=0;i<sponsorArray.length;i++){
            approvers.push(sponsorArray[i]+'');
        }
    }

    gs.log("Maga@ answer before script: " + approvers);
    // Budget Owner Approval
    if (budget == true) {
      //approvers.push(current.variables.budget_holder_name.toString());
        var budgetArray = current.variables.budget_holder_name.split(',');
        for(var j=0;j<budgetArray.length;j++){
            approvers.push(budgetArray[j]+'');
        }
        
    }
gs.log("Maga@ answer after script: " + approvers);
answer = approvers;
return approvers;
}

Hope this helps.