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.

Create Change Tasks from business rules

Pallavi65
Tera Contributor

Hello all,

 

Once a change request is created on a condition, I want to create 4 Change tasks automatically with unique short description and assign each of them to a different group.

For example,

CTASK1:-

Short description: Enable User in AD 

Assignment Group: Active Directory

 

CTASK2:-

Short description: Provide Asset 

Assignment Group: Asset Managenent

 

CTASK3:-

Short description: ID creation 

Assignment Group: Infrastructure department

 

I have written an after-insert BR, on change request table but it's not working.

Can someone modify my code and help me.

 

Pallavi65_0-1683111662679.png

 

 

Regards,

Pallavi

 

1 ACCEPTED SOLUTION

Try this

var ar = ['Enable User in AD', 'Provide Asset', 'ID Creation'];

 

    for(var i = 0; i < ar.length; i++) {
        gs.log("inside for");
        var gr = new GlideRecord('change_task');
        gr.initialize();
        gr.change_request = current.sys_id;
        gr.short_description = ar[i];
        gr.u_chgtask_environment = current.u_environment;
        gr.cmdb_ci = current.cmdb_ci;
        gr.planned_start_date = current.start_date;
        gr.planned_end_date = current.end_date;
if(ar[i].toString()=='Enable User in AD ')
gr.assignment_group = 'Active Directory';
else if(ar[i].toString()=='Provide Asset')
gr.assignment_group = 'Asset Management';
else if(ar[i].toString()=='ID creation')
gr.assignment_group = 'Infrastructure department';
        gr.insert();
    }
-Anurag

View solution in original post

5 REPLIES 5

Anurag Tripathi
Mega Patron
Mega Patron

Half of your code is task.XXXX and half is gr.XXX

change task . to gr.

 

Paste your code as i cannot copy screenshot to modify.

 

-Anurag

Hi Tripathi,

 

Yeah. you are right. Now I am able to create 3 Ctasks I wanted. But as I mentioned, I am populating array values into every ctask uniquely, but I am not understanding how to populate Assignment groups for those Short description. Can you please help?

 

Please find my code below.

var ar = ['Enable User in AD', 'Provide Asset', 'ID Creation'];

 

    for(var i = 0; i < ar.length; i++) {
        gs.log("inside for");
        var gr = new GlideRecord('change_task');
        gr.initialize();
        gr.change_request = current.sys_id;
        gr.short_description = ar[i];
        gr.u_chgtask_environment = current.u_environment;
        gr.cmdb_ci = current.cmdb_ci;
        gr.planned_start_date = current.start_date;
        gr.planned_end_date = current.end_date;
        gr.insert();
    }

 

 

 

Regards,

Pallavi

Try this

var ar = ['Enable User in AD', 'Provide Asset', 'ID Creation'];

 

    for(var i = 0; i < ar.length; i++) {
        gs.log("inside for");
        var gr = new GlideRecord('change_task');
        gr.initialize();
        gr.change_request = current.sys_id;
        gr.short_description = ar[i];
        gr.u_chgtask_environment = current.u_environment;
        gr.cmdb_ci = current.cmdb_ci;
        gr.planned_start_date = current.start_date;
        gr.planned_end_date = current.end_date;
if(ar[i].toString()=='Enable User in AD ')
gr.assignment_group = 'Active Directory';
else if(ar[i].toString()=='Provide Asset')
gr.assignment_group = 'Asset Management';
else if(ar[i].toString()=='ID creation')
gr.assignment_group = 'Infrastructure department';
        gr.insert();
    }
-Anurag

Pallavi65
Tera Contributor

Thank you Tripathi