Create multiple sub-tasks plugin for Jira Cloud

Table of contents

Creating sub-tasks

  1. Open a Jira task.

  2. Click the Create multiple sub-tasks button. Wait for a modal window to open.

     

  3. Load a template or write a new one.

     

  4. Wait for the request to process.

  5. See the results. To exit the modal, click the Close button. This will reload your page so that you can see new tasks created.

 

Access project templates

  1. Go to project settings (you need project admin permissions to do that).

  2. On the left-hand side menu select Sub-tasks templates.

     

Access user templates

  1. On the top right corner click your profile and settings button.

  2. Select the Sub-tasks templates button. Wait for a modal window to open.

     

Creating templates

  1. Go to the project or user templates page.

  2. Fill in the template id and template content inputs.

  3. Click the Save template button.

Note: if you have a template already selected and want to create a new template, click the New template button. This will clear your form.

Template Description

Template description

The Template Description field is an optional feature in the template creator view of our application. This field allows you to assign a name or description to your template, making it easier to identify and differentiate your templates from one another. Keep in mind that the template name must not exceed 500 characters.

Editing templates

  1. Go to the project or user templates page.

  2. Select a template from available templates.

  3. Change the id or content of the selected template.

  4. Click the Save template button. On the popup confirm your template override decision.

Removing templates

  1. Go to the project or user templates page.

  2. Select a template from available templates.

  3. Click the Remove template button. On the popup confirm your template removal decision.

Template syntax

To mark the start of a sub-task, enter a # followed by the desired sub-task name. Finish it with a / character. The following request will create a single sub-task named: “I am a sub-task name”

#I am a sub-task name/

If you want to set a field, simply add it after the slash character:

#Field example/description:"I am description"

Multiple fields per task need to be separated by additional slash characters:

#Multiple fields example/description:"I am description"/priority:"low"/reporter:"tech.user"

Some fields can have multiple arguments assigned to them. You can separate those with a comma:

Finally, to create multiple sub-tasks in one go, separate them with a newline:

Story template example:

Inherit syntax

To inherit field from the parent issue enter @inherit as an argument of field.

The following request will create a single sub-task with priority same as parent issue:

In case of summary you have to enter @inherit without ““:

Inherit - Concatenate text

Text fields such as summary, description or any custom text field can now have their values set to a concatenation of a text value with a parent value. To do that, simply put @inherit alongside the text.
For the example below, please assume the parent task to be named “Add user login form“.

This example will result in the creation of 3 sub-tasks named “Implementation - Add user login form”, “Code review - Add user login form” and “Test - Add user login form”.

In the example below you can see similar usage of @inherit, albeit for fields. Please note, that you can even use @inherit multiple times in the same field.

Inherit - Join collections

Collection fields such as fixVersion, components or any custom collection fields can join given elements with parent elements. The example below will result in a sub-task with components consisting of Component1, Component2 and also any components from the parent.

Available fields

Field

Syntax

Example

Notes

Inherit

Field

Syntax

Example

Notes

Inherit

Summary

#{summary}/

#Test preparation/

Required

YES

Description

#{summary}/description:"{description}"

#Test preparation/description:"This is a standard test prep sub-task."

 

YES

Assignee

#{summary}/assignee:"{assignee}"

#Test preparation/assignee:"John Smith"

Value can be set to the user id or user name. In the case of the name, it is advised to use the full name to pick the correct user.

User needs to exist.

YES

Reporter

#{summary}/reporter:"{reporter}"

#Test preparation/reporter:"Mary Smith"

Value can be set to the user id or user name. In the case of the name, it is advised to use the full name to pick the correct user.

User needs to exist.

YES

Issue type

#{summary}/issueType:"{issueType}"

#Test preparation/issueType:"Testing Sub-task"

Chosen issue type needs to exist.

NO

Priority

#{summary}/priority:"{priority}"

#Test preparation/priority:"low"

Chosen priority needs to exist.

YES

Time tracking

#{summary}/estimate:"{estimate}"

#Test preparation/estimate:"2d 3h 30m"

 

YES

Due date

#{summary}/dueDate:"{dueDate}"

#Test preparation/dueDate:"2022-02-20"

 

YES

Fix versions

#{summary}/fixVersions:"{fixVersion1,fixVersion2,...}"

#Test preparation/fixVersions:"Release 2.21,MASTER"

Chosen fix versions need to exist.

Accepts multiple arguments.

YES

Labels

#{summary}/labels:"{label1,label2,...}"

#Test preparation/labels:"Triage,Discussion"

Accepts multiple arguments.

YES

Component

#{summary}/components:"{component1,component2,...}"

#Test preparation/components:"Chart1,Chart2"

Chosen components need to exist.

Accepts multiple arguments.

YES

Custom fields

Before you begin, it's important to confirm that the desired fields are appropriately configured in your current Jira project or subtask setup. To do this, follow these steps:

  1. Access the settings by clicking on the cog icon (⚙️).

  2. Navigate to "Issues".

  3. Select "Fields".

  4. Search for your desired Custom Fields.

  5. Verify that these fields are assigned to the relevant screens and projects.

When populating the field content in Atlassian, ensure that the information is enclosed within quotation marks, like so: "Content". Keep in mind that Atlassian's custom field values are case-sensitive. This means that they must precisely match the setup in your Jira project.

Supported Custom fields

Classic Jira type

Next-gen Jira type

Syntax

Example

Notes

Inherit

Classic Jira type

Next-gen Jira type

Syntax

Example

Notes

Inherit

Short text

Short text

#{summary}/ {CustomField}:{text}

#Test preparation/customText:”this is custom text”

 

YES

Paragraph

Paragraph

#summary}/ {CustomField}:{text}

#Test preparation/ customParagraph:”this is Paragraph”

 

YES

Date Picker

Date

#{summary}/ {CustomField}:{date}

#Test preparation/ customDate:”2021-09-15”

 

YES

Number Field

Number

#{summary}/ {CustomField}:{number}

#Test preparation/ customNumber:”2.2”

 

YES

Date Time Picker

Time stamp

#{summary}/ {CustomField}:{timeStamp}

#Test preparation/ customDate:”2021-09-29T08:00+0200”

+0200 -> the difference between your time zone and the Dubai one

YES

Labels

Labels

#{summary}/ {CustomField}:{label1 label2…}

#Test preparation/ customLabels:”Triage,Discussion”

Accepts multiple arguments.

YES

Select List(single choice)

Dropdown

#{summary}/ {CustomField}:{option1}

#Test preparation/ customDropdown:”todo”

 

YES

Checkboxes/ Select list(multiple choices)

Checkbox

#{summary}/ {CustomField}:{option1,option2…}

#Test preparation / customCheckbox:”todo,spike”

Accepts multiple arguments.

YES

User Picker(multiple users)

People

#{summary}/ {CustomField}:{user1,user2…}

#Test preparation /customPeople :”Mary Smith,John Smith”

Accepts multiple arguments.

YES

User Picker(single user)

 

#{summary}/ {CustomField}:{user}

#Test preparation/customSingleUser :”Mary Smith,”

 

YES

Radio Buttons

 

#{summary}/ {CustomField}:{option}

#Test preparation/ customRadio:”Radio”

 

YES

URL Field

 

#{summary}/ {CustomField}:{url}

#Test preparation/customUrl :”https://www.google.com

 

YES

Group Picker(multiple groups)

 

#{summary}/ {CustomField}:{group1,group2…}

#Test preparation/customGroupPicker :”Eclipse,Atlassian”

Accepts multiple arguments.

YES

Group Picker(single group)

 

#{summary}/ {CustomField}:{group1}

#Test preparation/customGroupPucker :”Eclipse”

 

YES

Text Field(read only)

 

#{summary}/ {CustomField}:{text}

#Test preparation/customTextField :”Text only to read”

 

YES

Project Picker

 

#{summary}/ {CustomField}:{project}

#Test preparation/customProjectPicker :”pluginEclipse”

Single project name

YES

Version Picker(multiple versions)

 

#{summary}/ {CustomField}:{version1,version2…}

#Test preparation/customVersion :”beta,V1.0”

Accepts multiple arguments.

YES

Version Picker(single version)

 

#{summary}/ {CustomField}:{version}

#Test preparation/customVersionPicker :”beta”

Single version

YES

Select list(cascading)

 

#{summary}/ CustomField:"{option 1,child value}"

#Test preparation/CustomField:"option 1,child value"

 

YES

Template Validation

Template Validation

The Template Validation functionality allows you to validate the syntax of your template. This feature is available in both the main section of our plugin and the template creator window. By validating your template, you can ensure that it adheres to specific rules and guidelines. By adhering to the validation rules outlined in this manual, you can create error-free templates that accurately represent your desired subtasks.

Accessing Template Validation:

To access the Template Validation functionality, navigate to the main section of our plugin or the template creator window. Look for the button labelled "Validate Template”

 

Validating Template Syntax:

Click on the "Validate Template" button to initiate the template syntax validation process. The validation will verify the following rules:

Rule

Description

Subtask Separation

Each subsequent subtask in the template must be separated by a new line. Ensure that you start a new line for each subtask.

 

Subtask Representation

The hash symbol '#' represents each subtask in the template. Each subtask should have a summary field after the '#' character. For example:

``` #Code Review

```

 

Field Separation

The slash '/' acts as a mandatory delimiter to separate the fields within a subtask. This delimiter allows you to create new fields within the subtask. For example:

 ```

#Code Review / issueType:"Technical Sub-Task" / assignee: "example@example.com"

```

(!) Exception: Custom URLs

If you are using a custom URL within a subtask, you can include it as follows:

```

#TestURL/CustomUrl:"https://www.Testtesttest.com"

 ```

(!) Exception: Unusual Field Names

If you encounter unusual field names that contain characters such as parentheses, brackets, or special symbols, you can include them. For example:

```

#TestWeirdFieldName/Test (Parenthesis test) Test_-+={[}];'<,>/?.śðŋę²³¢≠²¢½§«»!@#$%^&*()\|`~£€¥©®:"test"

```

Field Delimiter Duplication

The slash '/' used to delimit the fields within a subtask cannot be duplicated. Ensure that you don't have duplicate slashes in the template. For example:

 ```

#Technical Sub-Task" / /assignee:""

```

(!) Exception: Custom URLs

If you are using a custom URL within a subtask, you can include it as follows:

```

#TestURL/CustomUrl:"https://www.Testtesttest.com"

 ```

 

 

Duplicated Quotation Marks

The ditto mark (quotation mark) " cannot be duplicated within the area where input needs to be provided. Ensure that you don't have duplicate quotation marks around the value of a field. For example:

```

issueType:""Technical Sub-Task""

 ```

 

Field Format

The name of each field should be followed by a colon ":" and then the corresponding value. Ensure that you provide the correct field name and value format. For example:

```

issueType:"Technical Sub-Task"

```

 

 

Handling Validation Errors:

If any errors are detected during the template syntax validation process, they will be displayed in the error log window. The errors will also be highlighted in the template area, making it easier for you to identify and correct them.

 

 Ignoring Validation Errors:

Despite the validation errors, you may still choose to proceed with the template. To do so, click on the "Confirm" button. This will create the subtasks according to the input provided in the template area, even if there are highlighted errors. Please note that it is generally recommended to fix the errors before confirming and proceeding.

Exceptions

  • Whitespace: Template Validation does not consider whitespace and it should not affect the validation process. However, ensure that you maintain proper formatting and spacing for better readability.

  • Email Validation: Currently, the email validation check does not consider email templates, which means that when a user's email address is provided, it may not be correctly validated as a valid field. We look forward to delivering this enhancement in our future release and hope it will further improve your experience with our product.

 

[NEW] Save Template

Save your templates instantly on the main plug-in view by clicking on 'Save template' button, ensuring you never lose progress. Easily manage and reuse queries without switching screens. Access saved templates seamlessly from your profile or the main plug-in view.

[NEW] Most Recent Query

Forget saving? No worries! Retrieve your three most recent queries directly from the main plug-in view. Find them labelled under 'Recent' in the 'Saved' templates dropdown. No need to save dedicated templates or start from scratch.

[NEW] Import/Export Templates

Export or import templates between Jira projects effortlessly. Access this feature from the template management view. Export all templates at once or import multiple templates using convenient .csv files.

Exporting Templates

Click export with no template selected for a full export

Export a particular template by selecting it from the 'Saved' templates dropdown

Import Templates

Ensure your CSV file has headers: "Template ID," "Template description," and "Template content" (comma-separated).

Export a template first for an example of correct .CSV syntax for successful imports.\

[NEW] Dark Mode

The new feature for dark mode lovers. Enjoy our plug-in in a fully accessible dark theme for a comfortable and stylish experience. The dark mode is accessible only if the Jira setting is changed to the dark theme.