How to save and track time in Jira Software? Watch our joint webinar with Tempo!

Dynamic Forms for Jira

Jira Server
HOSTING
Last updated Mar 26, 2019

FAQ

There are certain fields that can be set as Related fields in Dynamic Forms configuration.

However, it’s possible to use different fields than defined in table below:

  1. Find jira-config.properties file.

    Note
    If your jira-config.properties file is missing, create it in JIRA_HOME.

  2. Add following formula to file:

    dynamicforms.enable.related.fields=A,B,C

where A,B, C are types of fields (see the Type column in table below).

Note
Remember to add types of fields after the decimal point.

Table: List of supported fields with exemplary type values

Field Type
Attachment
Component/s
Description
Due Date
Environment
Fix Version/s
Labels
Linked Issues
Priority
Timetracking
Development com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary
Epic Color com.pyxis.greenhopper.jira:gh-epic-color
Epic Link com.pyxis.greenhopper.jira:gh-epic-link
Epic Name com.pyxis.greenhopper.jira:gh-epic-label
Epic Status com.pyxis.greenhopper.jira:gh-epic-status
Rank com.pyxis.greenhopper.jira:gh-lexo-rank
Sprint com.pyxis.greenhopper.jira:gh-sprint
Approvals com.atlassian.servicedesk.approvals-plugin:sd-approvals
Customer Request Type com.atlassian.servicedesk:vp-origin
Organizations com.atlassian.servicedesk:sd-customer-organizations
Request participants com.atlassian.servicedesk:sd-request-participants
Satisfaction com.atlassian.servicedesk:sd-request-feedback
Satisfaction date com.atlassian.servicedesk:sd-request-feedback-date
Time to resolution com.atlassian.servicedesk:sd-sla-field
Time to first response com.atlassian.servicedesk:sd-sla-field
Checkboxes com.atlassian.jira.plugin.system.customfieldtypes:multicheckboxes
Date Picker com.atlassian.jira.plugin.system.customfieldtypes:datepicker
Date Time Picker com.atlassian.jira.plugin.system.customfieldtypes:datetime
Group Picker (mutiple groups) com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker
Group Picker (single group) com.atlassian.jira.plugin.system.customfieldtypes:grouppicker
Labels com.atlassian.jira.plugin.system.customfieldtypes:labels
Number Field com.atlassian.jira.plugin.system.customfieldtypes:float
Project Picker (single project) com.atlassian.jira.plugin.system.customfieldtypes:project
Radio Buttons com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons
Select List (cascading) com.atlassian.jira.plugin.system.customfieldtypes:cascadingselect
Select List (multiple choices) com.atlassian.jira.plugin.system.customfieldtypes:multiselect
Select List (single choice) com.atlassian.jira.plugin.system.customfieldtypes:select
Text Field (multi-line) com.atlassian.jira.plugin.system.customfieldtypes:textarea
Text Field (read only) com.atlassian.jira.plugin.system.customfieldtypes:readonlyfield
Text Field (single line) com.atlassian.jira.plugin.system.customfieldtypes:textfield
URL Field com.atlassian.jira.plugin.system.customfieldtypes:url
User Picker (multiple users) com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker
User Picker (single user) com.atlassian.jira.plugin.system.customfieldtypes:userpicker
Version Picker (multiple versions) com.atlassian.jira.plugin.system.customfieldtypes:multiversion
Version Picker (single version) com.atlassian.jira.plugin.system.customfieldtypes:version
Bundled field Dynamic forms com.intenso.jira.plugin.dynamic-forms:bundled-fields
Bundled field Extension com.intenso.jira.plugins.jsd-extender:jsd-bundled-fields
Jira Checklist com.okapya.jira.checklist:checklist
nFeed Field com.valiantys.jira.plugins.SQLFeed:nfeed-standard-customfield-type
nFeed - Date Field com.valiantys.jira.plugins.SQLFeed:nfeed-date-customfield-type
nFeed - DateTime’ Field com.valiantys.jira.plugins.SQLFeed:nfeed-datetime-customfield-type
nFeed (deprecated) com.valiantys.jira.plugins.SQLFeed:com.valiantys.jira.plugins.sqlfeed.customfield.type
Insight Object/s’ Field com.riadalabs.jira.plugins.insight:rlabs-customfield-default-object
Insight Referenced Object (single)’ Field com.riadalabs.jira.plugins.insight:rlabs-customfield-object-reference
Insight Referenced Objects (multiple)’ Field com.riadalabs.jira.plugins.insight:rlabs-customfield-object-reference-multi
Dynamic Forms: Cascading select com.intenso.jira.plugin.dynamic-forms:dynamic-cascadingselect-customfield
Dynamic Forms: Checkboxes com.intenso.jira.plugin.dynamic-forms:dynamic-check-box-customfield
Dynamic Forms: Radio button com.intenso.jira.plugin.dynamic-forms:dynamic-radiobutton-customfield
Dynamic Forms: Multiselect com.intenso.jira.plugin.dynamic-forms:dynamic-multiselect-customfield
Dynamic Forms: Select com.intenso.jira.plugin.dynamic-forms:dynamic-select-customfield
Dynamic Forms: Secured multiselect com.intenso.jira.plugin.dynamic-forms:secured-multi-select
Dynamic Forms: Secured select com.intenso.jira.plugin.dynamic-forms:secured-select
Table Grid Editor com.intenso.jira.plugin.dynamic-forms:dynamic-radiobutton-customfield
Checkbox++ com.deniz.jira.customfields:cf-checkbox
Message Edit com.atlassian.jira.toolkit:message
Message View com.atlassian.jira.toolkit:viewmessage

Does bulk edit work with Dynamic Forms?

Due to consistency problems bulk change operation for dynamic select is unavailable in default configuration. Bulk change operation for dynamic select managed custom fields is also switched off.

To enable bulk change editing, put property dynamic-forms.disable-bulk-change=off into jira-config.properties file (placed in Jira Home’s catalog).

For more information, see How to edit the jira-config.properties file.

Why I don’t see a minus next to bundled field on the Create/Edit Issue screen?

If Bundled Field is required in Fields configurations, this custom field must be filled in on the Create/Edit Issue screen. So, if you have only one row, a minus is hidden to avoid removing this row.

How to avoid problems with displaying Bundled Fields in Jira emails incorrectly ?

Bundled Fields can be added to an email as regular custom fields. However, Bundled Fields configuration slightly differs from the one provided by Jira. To avoid problems with displaying Bundled Fields incorrectly, follow the instructions below.

Note
Before you start, create a proper email template (HTML format) and .vm file as in instructions here (except the step no. 4).

In standard custom fields configuration, you need to add the following code to customfields.vm file:

#disable_html_escaping()  
#set ($customfield = $customFieldManager.getCustomFieldObject("customfield_10000"))  
#if($issue.getCustomFieldValue($customfield))  
<tr>  
    <th>#text($customfield.name):</th>  
    <td class="has-icon">        
        $textutils.htmlEncode($issue.getCustomFieldValue($customfield), false)  
    </td>  
</tr>  
#end   

For Bundled Fields custom field pass this code to the customfields.vm (pt. 4 in previously mentioned tutorial):

#disable_html_escaping()
#set ($customfield = $customFieldManager.getCustomFieldObject("customfield_14401"))  
#if($issue.getCustomFieldValue($customfield))  
<tr>  
    <th>#text($customfield.name):</th>  
    <td class="has-icon">  
    #set ($componentAccessor = $constantsManager.getClass().forName('com.atlassian.jira.component.ComponentAccessor').newInstance())  
    #set ($htmlGeneratorClass = $componentAccessor.getComponentClassManager().loadClass("com.deviniti.plugins.bundledfields.HtmlGenerator"))  
    #set ($bundledFieldsServiceClass = $componentAccessor.getComponentClassManager().loadClass("com.deviniti.plugins.bundledfields.BundledFieldsService"))  
    #set ($contextId = $customfield.getRelevantConfig($issue).getId())  
    #set ($htmlGenerator = $componentAccessor.getOSGiComponentInstanceOfType($htmlGeneratorClass))  
    #set ($bundledFieldsConfig = $componentAccessor.getOSGiComponentInstanceOfType($bundledFieldsServiceClass).getConfiguration($contextId, $customfield.getIdAsLong()))  
        $htmlGenerator.toHtml($issue.getCustomFieldValue($customfield), $bundledFieldsConfig)  
    </td>  
</tr>  
#end   
Note
Type the ID of target Bundled Field to getCustomFieldObject parameter. Presented Bundled Field’s ID is exemplary.
Note
When the file configuration is ready, remember to restart your Jira.

Why can’t I create an issue while using Dynamic Forms?

In Dynamic Forms configuration we can use several types of custom fields provided by app, for example [Dynamic Forms] - Bundled Fields. This custom field is treated as a separate feature and has it’s own settings. As you can read here, Bundled Fields feature allows to set nested field as required.

The reason you cannot create an issue might be using Bundled Field with required, nested field as one of Related Fields available in Dynamic Forms.

For example, configure Bundled Field with three nested fields and set one of them as required. Then, navigate to Dynamic Forms configuration and choose Bundled Field as Related Field in target Options.
In this case, while creating issue and choosing different option than configured, create button won’t cause any action.

Before you start using Bundled Fields in Dynamic Forms configuration, we recommend to check whether target Bundled Fields field is required.

Dynamic Custom Fields in Jira
Dynamic Custom Fields in Jira

Dynamic Custom Fields in Jira
Dynamic Custom Fields in Jira