Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Set Value of a Catalog Variables with other Catalog variables on a SCTASK

JayAdmin_16
Mega Sage

Hi there, 

Scripting isn't my strong point, so please be gentle! - I have a catalog variable (script_output) from a catalog item that is being used to create user accounts. I would like to pre-fill the variable script_ouput with other catalog variables from the same catalog item in a template like below when an SCTASK item has been generated:

  variables: {
    Username: "XXX", (XXX would be populated with catalog variable: user_name)
    FirstName: "XXX", (XXX would be populated with catalog variable: first_name)
    LastName: "XXX", (XXX would be populated with catalog variable: last_name)
    RequestNumber: "XXX" (XXX would be populated with the SCTASK's RITM number )
  }

How would I go about creating the script_output to be read only, pre-populate the XXX with the catalog variables as above and have it limited or visible to just the SCTASK? Any help would be appreciated. 

1 REPLY 1

Ankur Bawiskar
Tera Patron

@JayAdmin_16 

Steps

-> always hide this variable on Catalog Item, RITM and SC Task  (Use Catalog UI Policy for this)

-> create after insert BR on sc_task with condition as this

current.request_item.cat_item.name == 'Your Item Name Here'

Script:

Note: Enhance based on how the JSON string you want

(function executeRule(current, previous /*null when async*/ ) {

    // Add your code here
    var obj = {
        Username: current.variables.user_name.toString(),
        FirstName: current.variables.first_name.toString(),
        LastName: current.variables.last_name.toString(),
        RequestNumber: current.request_item.number.toString()
    };

	current.variables.script_output = JSON.stringify(obj);
	current.update();

})(current, previous);

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader