How to Set Default Value of User input, Make it Required or Read Only

A code sample worth a thousand words:

def qty = api.integerUserEntry("Quantity")	// set up the user input as usual

def p = api.getParameter("Quantity")		// retrieve the context parameter with the same name as the input
if (p != null && p.getValue() == null) {
  p.setLabel("Quantity (default: 1)") 		// set the displayed label
  p.setRequired(true) 						// set the mandatory hint
  p.setReadOnly(false) 						// set the read only flag
  p.setValue(1) 							// set the default value with which the input is pre-populated
}
return qty ?: 1 							// if user doesn't specify a value, return 1

The same approach works for combo boxes:

def competitorNames = [ "SODEXO", "COMPASS" ]

def competitor = api.option("Competitor", competitorNames)
def p = api.getParameter("Competitor")
if (p != null && p.getValue() == null) {
  p.setLabel("Primary Competitor")
  p.setValue(competitorNames[0])
}
return competitor

There are many more properties you can change. For the complete list of available methods see the latest documentation on the ContextParameter class.

Found an issue in documentation? Write to us.