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

Dynamic Forms for Jira

Jira Server
HOSTING
Last updated Jan 10, 2020

Bundled Fields

This page provides information on how to configure Bundled Fields.

A Bundled Fields feature allows to bundle all information into one custom field. This custom field is displayed as additional form. This feature supports the following types of custom fields:

  • checkboxes,
  • text fields (single and multi-line),
  • select list (single choice),
  • date picker,
  • date time picker,
  • time picker,
  • and user picker (single user).
Warning

To set a configuration, log in as a user with Jira Administrators global permission.

Add Bundled Field

Before you start configuring Bundled Field, add a new custom field to Jira.

Steps

  1. Go to Jira Administration > Issues.
  2. Select Custom fields from the menu in the Fields section.
  3. Click Add custom field.
  4. Select Deviniti [Dynamic Forms] - Bundled Fields from the list (in the advanced section).
  5. Click Next.
    Bundled Field in Jira Custom Fields
    Bundled Field in Jira Custom Fields
  6. Configure the selection criteria for the field: Name and Description (optional).
  7. Click Create.
    Bundled Field in Jira Custom Fields
    Bundled Field in Jira Custom Fields
  8. Select the checkboxes of the screens on which this custom field will be displayed.
  9. Click Update.

Result

A new custom field Deviniti [Dynamic Forms] - Bundled Fields is added to Jira.

Configure Bundled Field

Steps

To configure a Bundled Field custom field:

  1. Go to Jira Administration > Manage apps.
  2. Select Bundled Fields from the menu in the Dynamic Forms section.
  3. Select a custom field with its context which you want to configure.
    The list contains all Deviniti [Dynamic Forms] - Bundled Fields custom fields which are added to Jira.
  4. Layout on the Issue View screen: Select how to compose fields: Horizontal, Vertical or Custom.
    • Custom alignment supports settings from step 7.
    • For Horizontal and Custom alignment you can show label only for the first row (like a table heading).
      Example

      Show label only for the first row (in horizontal alignment) prevents from repeating field’s labels in case of creating many rows within the issue. If you mark this option as checked, newly created issue will be displayed as in example below:

      Bundled Fields configuration
      Bundled Fields configuration

      If you mark Show label only for the first row (in horizontal alignment) as unchecked, field’s labels will be repeated:

      Bundled Fields configuration
      Bundled Fields configuration
  5. Click Add new sub-fields.
  6. Configure the following:
    a. Sub-field name: Type name of nested field.
    b. Type: Select type of sub-field: Checkboxes, Date Picker, Date Time Picker, Time Picker, Text Field (single line), Text Field (multi-line), Select List (single choice), User Picker (single user).
    Note

    For Checkboxes and Select List (single choice), new option can be added by clicking:

    • + new option under options: Type new option.
    • More > Bulk add options: Type in new options and separate them with Enter.
    Bundled Fields configuration
    Bundled Fields configuration
    • More > Import options: Define a source custom field (Checkboxes, Radio Buttons, Select List (single choice), Select List (multiple choices)) and the context.
    Bundled Fields configuration
    Bundled Fields configuration

    For Text Field (single line), you can define the formatting and validators. Read more here.


    c. Required: Set the state of switch to on to make sub-field required.
    d. Show label: Set the state of switch to on to show label of sub-field (Sub-field name).
    Tip
    • Click Copy to copy nested field with configuration and create new sub-fields quicker.
    • Use drag-and-drop to re-order nested fields in the list.
  7. In Layout settings section switch Turn on Edit mode to on.
    Now you can change field’s size and location.
    Note
    Fields options (Type, Copy, Delete, Add new sub-fields, Delete sub-fields) are disabled while editing Layout.
  8. Click Save Layout.
Bundled Fields configuration
Bundled Fields configuration

Result

Bundled Field has been configured.

Advanced Settings - Details

Steps

To configure Bundled Field’s details:

  1. Click Advanced Settings > Details.

    Bundled Fields configuration details
    Bundled Fields configuration details

  2. Configure the following:
    a. Description: Type text which will help user to fill fields.
    b. Default number of rows: Choose default number of bundled field rows. For example, if you select 3 rows, a bundled field will be displayed three times (in 3 rows).

    Note
    You can select max. 25 rows. If you select 0 as a Default number of rows, your Bundled field will generate as an empty state.
    c. Min. number of rows: The user will not be able to remove rows if they reach such number on the Create Issue and Edit Issue screens.
    Note
    If you select 0 as a Min. number of rows and user remove all rows on the Create Issue screen, all required sub-fields will convert into optional.
    d. Max. number of rows : The user will not be able to add rows if they reach such number on the Create Issue and Edit Issue screens.

  3. If your configuration is ready, click Save.

Bundled Fields configuration details
Bundled Fields configuration details

Result

Bundled Field’s details have been configured.

Advanced Settings - Import configuration

This option allows you to copy configuration from source custom field to the target field. Source custom field can be a Bundled Field from Dynamic Forms for Jira app and Extension for Jira Service Desk app.

Steps

To import configuration:

  1. Click Advanced Settings > Details.
    Bundled Fields import
    Bundled Fields import

  2. Select a source custom field with its context.
  3. Click Import.
    Bundled Fields import
    Bundled Fields import
Warning
  • Imported configuration will replace configuration from current Bundled Field.
  • Values in the existing issues (which contain Bundle Field) will not replace but you won’t be able to change layout, format, or order option and rows.

Result

Bundled Field has a configuration from imported custom field.

Format and validation

You can define the formatting and validators for Text fields. By default, the None option is selected.

Steps

  1. Click More > Format and validation.
    Bundled Fields format and validation
    Bundled Fields format and validation
  2. Select option which you want to set.

    • Text Formatting

    Currency

    Number Format String
    1000.234 $0,0.00, $1,000.23
    1000.2, $0,0[.]00 $,1,000.20
    1001, $ 0,0[.]00, $ 1,001
    100.55 0.0 PLN, 100.6 PLN

    Percentages

    Number Format String
    1 0% 100%
    0.974878234 0.000% 97.488%
    -0.43 0 % -43 %
    1 0 1%
    0.64 0.00 0.64%

    Number

    Number Format String
    10000 0,0.0000 10,000.0000
    10000.23 0,0 10,000
    10000.1234 0.000 10000.123
    100.1234 00000 00100
    1000.1234 000000,0 001,000
    10 000.00 010.00
    10000.1234 0[.]00000 10000.12340
    -10000 (0,0.0000) (10,000.0000)

    To define formatting, you can also select locales from the list in the Advanced section. This list contains all languages supported by numeral.js. English (United States) [en] is set by default.

    Note

    If the value entered on the form does not match the format, the user will see a warning and the creation of the request will be blocked until he enters the correct value.

    Bundled Fields format and validation
    Bundled Fields format and validation

    • Validation

    Select RegExp option if you want to use Regex. Regular Expressions aka Regex are expressions that define a search pattern. They are widely used for validation purposes, like email validation, url validation, phone number validation and so on.

    Commonly used regex

    1. Alphanumeric Characters

      • Alphanumeric without space: ^[a-zA-Z0-9]*$
      • Alphanumeric with space: ^[a-zA-Z0-9 ]*$
    2. Email

      • Common email Ids: ^([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6})*$
      • Uncommon email Ids: ^([a-z0-9_\.\+-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$
    3. Password Strength

      • Should have 1 lowercase letter, 1 uppercase letter, 1 number, and be at least 8 characters long (?=(.*[0-9]))((?=.*[A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z]))^.{8,}$
    4. URL

      • Include http(s) Protocol: https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&//=]*)
      • Protocol Optional: (https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)
    5. Phone Number

      • ^[+]*[(]{0,1}[0-9]{1,4}[)]{0,1}[-\s\./0-9]*$
    6. Credit Card Numbers

      • American Card: ^3[47][0-9]{13}$
      • Diners Club Card: ^3(?:0[0-5]|[68][0-9])[0-9]{11}$
      • JCB Card: ^(?:2131|1800|35\d{3})\d{11}$
      • KoreanLocalCard: ^9[0-9]{15}$
      • Maestro Card: ^(5018|5020|5038|6304|6759|6761|6763)[0-9]{8,15}$
      • Mastercard: ^5[1-5][0-9]{14}$
      • Union Pay Card: ^(62[0-9]{14,17})$
      • Visa Card: ^4[0-9]{12}(?:[0-9]{3})?$
      • Visa Master Card: ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14})$
    Tip
    • Use this page to build and test RegEx.
      • Read more about Credit Card Regex Patterns.
      • Put your example to Test input to check if it works correctly. The result will be shown in the last column.
    • Masking

    Select Mask option if you want to help the user to provide data in a specific format (such as credit card number, zip code, phone number). Default format characters are:

    • 9: 0-9
    • a: A-Z, a-z
    • *: A-Z, a-z, 0-9

    For example: * for zip code in the United States: 99999-9999 * for phone number in Germany: +4\9 99 999 99

    Tip

    Put your example to Test input to check if it works correctly. The result will be shown in the last column.

  3. Click Save.

    Bundled Fields format and validation
    Bundled Fields format and validation

Result

A configuration for Text field is set.

Using Bundled Fields

Steps

To check how bundled fields work:

  1. Click Create at the top of the screen.
  2. Complete all fields, including the custom field: Deviniti [Dynamic Forms] - Bundled Fields (for example: Address).
  3. Click Create to create a new issue.
    Bundled custom fields in Jira Software
    Bundled custom fields in Jira Software
    Tip
    You can also configure Bundled field in vertical position as in example below.

    Bundled custom fields in Jira Software
    Bundled custom fields in Jira Software

    Example

    Custom alignment allows to resize and relocate fields according to your needs. See the example below.

    Bundled custom fields in Jira Software
    Bundled fields in Jira Software

Result

Deviniti [Dynamic Forms] - Bundled Fields (for example: Address) are visible in the issue.

Bundled Fields on the issue view in Jira Software
Bundled Fields on the issue view in Jira Software

Bundled Fields Searcher

Dynamic Forms provides a dedicated searcher. It allows to search issues in Jira which contains a Bundled Fields custom field. There are two options: issue in bundledFieldsDF("", "") (two arguments) and issue in bundledFieldsDF("", "", "") (three arguments).

  • issue in bundledFieldsDF("", "")
Syntax with details Example
issue in bundledFieldsDF(“customfield_name”, “subfield_value”) issue in bundledFieldsDF(“Address”, “Poland”)
It returns all issues which contain Address custom field where one value is Poland.
issue in bundledFieldsDF(“Address”, “”) It returns all issues which contain Address custom field where min. one value is empty.
issue in bundledFieldsDF(“customfield_id”, “subfield_value”) issue in bundledFieldsDF(“customfield_10301”, “Poland”)
It returns all issues which contain custom field with ID = 10301 (in this case: Address) where one value is Poland.
issue in bundledFieldsDF(“customfield_10301”, “”)
It returns all issues which contain custom field with ID = 10301 (in this case: Address) where min. one value is empty.
issue in bundledFieldsDF(“id”, “subfield_value”) issue in bundledFieldsDF(“10301”, “Poland”)
It returns all issues which contain custom field with ID = 10301 (in this case: Address) where one value is Poland.
issue in bundledFieldsDF(“10301”, “”)
It returns all issues which contain custom field with ID = 10301 (in this case: Address) where min. one value is empty.
  • issue in bundledFieldsDF("", "", "")
Syntax with details Example
issue in bundledFieldsDF(“customfield_name”, “subfield_name”, “subfield_value”) issue in bundledFieldsDF(“Address”, “Country”, “Poland”)
It returns all issues which contain Address custom field with Country sub-field (which value is Poland).
issue in bundledFieldsDF(“customfield_id”, “subfield_name”, “subfield_value”) issue in bundledFieldsDF(“customfield_10301”, “Country”, “Poland”)
It returns all issues which contain custom field with ID = 10301 (in this case: Address) with Country sub-field (which value is Poland).
issue in bundledFieldsDF(“id”, “subfield_name”, “subfield_value”) issue in bundledFieldsDF(“10301”, “Country”, “Poland”)
It returns all issues which contain custom field with ID = 10301 (in this case: Address) with Country sub-field (which value is Poland).
Tip
To find an ID of Bundled Field custom field, go to the Issues > Custom Fields. Select custom field, click Edit, and check URL address. Example: http://192.168.0.84:8082/secure/admin/EditCustomField!default.jspa?id=10301

From version 4.5, you can also search using parameters.

Parameter Example
NOT_EMPTY (search by sub-fields which are not empty) issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Last name”, “NOT_EMPTY”)
IN (search by sub-fields which contain selected values) issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Select field”, “IN”, “One”, “Two”)
NOT_IN (search by sub-fields which don’t contain selected values) issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Select field”, “NOT_IN”, “One”, “Two”)

You can also search by Date and Date Time sub-fields. Use the following patterns:

  • yyyy-MM-dd hh:mm a
  • yyyy-MM-dd
  • hh:mm a
Operator Example
< issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Date”,”<“,“2019-04-30”)
issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Date Time”,”<“,“2019-04-30 10:01 am”)
issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Time”,”<“,“08:15 am”)
> issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Date”,“>”,“2019-04-29”)
issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Date Time”,“>”,“2019-04-30 09:55 am”)
issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Time”,“>”,“08:15 am”)
BETWEEN issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Date”,“BETWEEN”,“2019-04-29”,“2019-04-31”)
issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Date Time”,“BETWEEN”,“2019-04-30 09:50 am”,“2019-04-30 10:10 am”)
issue in bundledFieldsDF(“Bundled Field 1 (DF)”, “Time”,“BETWEEN”,“08:13 am”,“08:15 am”)
Note

If you do not see issues that contain Bundled Field custom field, go to the Issues > Custom Fields. Select custom field, click Edit and check Search Template. Bundled Fields Searcher should be set.

Bundled Fields
Bundled Field searcher

Need help?
If you can’t find the answer you need in our documentation, raise a support request*.
* Include as much information as possible to help our support team resolve your issue faster.