Removing a select list's none option

Custom field types such as select list (single and multi) come with the None option, and the only way to remove that is to make the field required. While this makes sense, it can be cumbersome to chase down every field and configuration.

In this recipe, we will remove the None option from all single select list custom fields.

Getting ready

Since we will be modifying physical files in JIRA, you will want to take backups of the files we change.

How to do it...

JIRA uses Velocity templates to render custom fields. These templates are mostly HTML with some special symbols. You can find all these files in the JIRA_INSTALL/atlassian-jira/WEB-INF/classes/templates/plugins/fields directory, and the edit view templates are in the edit subdirectory.

  1. Open the edit-select.vm file in a text editor, and remove the following code snippet:
            #if (!$fieldLayoutItem ||
            $fieldLayoutItem.required ==  false)  
            <option value="-1">
            $i18n.getText("common.words.none")</option> 
            #else 
              #if ( !$configs.default ) 
              <option value="">  
              $i18n.getText("common.words.none") </option> 
              #end 
            #end 
    
  2. Save the file, and restart JIRA. Make sure you do not change any other lines.

Tip

You can remove the None option from other custom field types, such as multi-select, by editing the appropriate file (for example, edit-multiselect.vm).

How it works...

The Velocity .vm template files are what JIRA uses to render the HTML for the custom fields. The code snippet we removed is what displays the None option. Note that by changing the template, we are removing the None option for all single select custom fields in JIRA. If you just want to remove the None option for a single custom field, refer to the Using JavaScript with custom fields recipe.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset