Applying reference qualifiers on standard change template proposals

Ashok Kumar Am1
Giga Expert

Hi there,

This is related to standard change template proposal screen. In our environment while proposing change template 'Configuration field' is one of the mandatory field.

And using Configuration field look up i am able to select any CI record .But my requirement here is to restrict CI selection only for certain class.

find_real_file.png

Is there anyway to apply reference qualifiers on change template proposal screen? Please help.

Thanks

1 ACCEPTED SOLUTION

tomas_hanousek1
Kilo Expert

I implemented that. Let's say you want to make a reference qualifier to the for Configuration item on the template. Then you have to create the Before Query Business Rule that looks like this (on cmdb_ci table)

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

	var targetName = gs.action.getGlideURI().getMap().get('sysparm_target');
	if (targetName.indexOf('change_request.cmdb_ci') > -1) {
		current.addQuery('install_status', 1); // installed
	}
	

})(current, previous);

 

When you click the magnifying glass, there is a parameter in URL sysparm_target that always differ a little bit. On the change form it's just change_request.cmdb_ci, and on change proposal, it has format like change_request.cmdb_ci.{sys_id format}. So you can detect it like this. Then you are able to provide only specific CIs after clicking on magnifying glass.

You should also take care about the putting the Name of CI directly to the field. You cannot find the CI in the list after clicking on magnifying glass, but when you put the name into the field, it behaves as valid. Here I suggest to use client script with AJAX to check if the user put there valid CI. 

View solution in original post

22 REPLIES 22

This isn't a reference qualifier, it's a business rule... to replace the actions of a reference qualifier basically, and in UTAH this does still work, including the try/catch

Anyone reading this thread in future should take note of this. Simple CYA to add the try/catch block to this to prevent the error logging issues.

Do you happen to have the client script example to validate the CI once it is chosen if they do type the name directly?

Amazing workaround!! It works perfectly to my requirement 

how to use client script on the reference fields under the change request values field?