Create multiple sub-tasks plugin for Jira Cloud
Table of contents
- 1 Creating sub-tasks
- 2 Access project templates
- 3 Access user templates
- 4 Creating templates
- 5 Template Description
- 6 Template description
- 7 Editing templates
- 8 Removing templates
- 9 Template syntax
- 10 Inherit syntax
- 11 Inherit - Concatenate text
- 12 Inherit - Join collections
- 13 Available fields
- 14 Custom fields
- 15 Supported Custom fields
- 16 Template Validation
- 17 [NEW] Save Template
- 18 [NEW] Most Recent Query
- 19 [NEW] Import/Export Templates
- 20 [NEW] Dark Mode
Creating sub-tasks
Open a Jira task.
Click the Create multiple sub-tasks button. Wait for a modal window to open.
Load a template or write a new one.
Wait for the request to process.
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
Go to project settings (you need project admin permissions to do that).
On the left-hand side menu select Sub-tasks templates.
Access user templates
On the top right corner click your profile and settings button.
Select the Sub-tasks templates button. Wait for a modal window to open.
Creating templates
Go to the project or user templates page.
Fill in the template id and template content inputs.
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
Go to the project or user templates page.
Select a template from available templates.
Change the id or content of the selected template.
Click the Save template button. On the popup confirm your template override decision.
Removing templates
Go to the project or user templates page.
Select a template from available templates.
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 |
---|---|---|---|---|
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:
Access the settings by clicking on the cog icon (⚙️).
Navigate to "Issues".
Select "Fields".
Search for your desired Custom Fields.
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 |
---|---|---|---|---|---|
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.