To create catalog tasks dynamically based on server using workflows

Naga13
Tera Contributor

Dear Group Members,

My exact requirement is creating the catalog tasks and assigned the catalog tasks to the assignment groups based on current  selected server assignment group.

we have multiple number of servers and each server has assignment group, if i select one server dynamically from list of servers then i will create the catalog task and assign that task to current selected server assignment group Dynamically.

If i select 100 servers then 100 tasks to be created and assigned to the respective server (current server which is selected) assignment group.

I have tried so many ways but no luck.

Can you please help on this.

I wrote the below code.

var mrvs;
var idnum = current.sys_id;
var ritmGR = new GlideRecord('sc_req_item');
if (ritmGR.get(idnum)) {
mrvs = ritmGR.variables.cmdbid.cmdbid1;
gs.info("variable sets=>"+mrvs);

for(i=0; i<=mrvs.length; i++){
gs.info("variable sets1=>"+mrvs[i]);

var grServer = new GlideRecord('cmdb_ci_server');
grServer.addQuery('sys_id', mrvs[i]);

grServer.query();

while (grServer.next())

{
var grServer1 = new GlideRecord('sc_task');
grServer1.initialize();
grServer1.assignment_group = grServer.assignment_group;
grServer1.insert();
}
}
}

Catalog form:

find_real_file.png

 

find_real_file.png

Best Regards,

Naga

1 REPLY 1

Community Alums
Not applicable

In the workflow, initialize your var as workflow.scratchpad.servers = current.variables.servers. Then use it in your script to iterate throu it