This is an early version of the Google Sheets Jira Uploader tool. It allows a user to create bulk issues in different Jira project in a single operation.
Access it here Google Sheet.
In order to use this tool, you will need to get an API token from Atlassian and follow along their guide. Save this key in the password manager of your choice and rotate it often. This key is only used to access the Jira API, and is not stored, logged, or sent anywhere else.
- Save a copy of this sheet.
- Navigate to the Config tab.
- Enter your Jira cloud subdomain (from the URL https://SUBDOMAIN.atlassian.net/)
- Set up your available issue type, priority levels, and issue link types.
- Use the dropdowns to select the default values for issues, priority, and issue types for when the user does not provide them.
- On the main sheet, select Jira Uploader -> Sync Users and Projects to download all of the active users (needed to assign users to issues) as well as the Jira project keys for creating tickets in the correct projects. Only the projects you have access to will be downloaded. These will be saved to your copy of the sheet in the Projects and Users tab.
- Add all of your required issue data. Project Key and Summary are required. Issue Type and Priority default values will be used if none are provided. For IssueLink, select from the dropdown the issue ID (see the leftmost column) for the issue you want to link to. For example, if the default issue link type is Blocks, and the first issue selected in the IssueLink field, when created that issue will be shown as "Blocked by" the issue on line 1.
- Once the data is filled out, click on Jira Uploader -> Send Data to Jira.
- If using the sheet for the first time, you will need to review and approve the authorization. Click OK on the pop-up, and then click on Advanced and finally on Go to Jira Uploader (unsafe). Run the command again after approving the sheet.
- Provide your Atlassian account name. If the field "Ask for Username" is unchecked, then the username will only be asked once per browser user.
- Provide your API token generated above.
- The issues will be created one by one and the results shown.
- You can resubmit the data again. Issues checked as Skip will be updated (Summary, Description, Assignee, Parent, and Priority only), while unchecked issues will be recreated with new issue IDs or if they were added since the last execution, created for the first time.
- Note: some fields are hidden by default to ease of use. To unhide these fields, select Jira Uploader -> Show Advanced Fields.
- Once done, select Jira Uploader -> Reset Sheet (Clear Issues) to reset the sheet to the default state for next use.
Field Name | Description | Required | Notes | Ticket Updated when Rerunning Script | Hidden |
---|---|---|---|---|---|
Project | Project key | YES | Only project keys (e.g. ABC) are accepted. Value is forced to uppercase. | NO, as moving an issue requires multiple steps in Jira and highly dependant on project configuration. | NO |
Summary | Title of the issue. | YES | YES | NO | |
Type | Issue Type (Task, Story, etc.) | No, but a default value is used if left blank. | This assumes simple issue types. Other issues, such as Parent tickets, may require more fields than are currently supported. | NO, as sometimes changing issue type requires additional mapping steps. | NO |
Description | Issue content | NO | YES | NO | |
Parent | Parent (formerly Epic) the ticket can belong to | NO | --- | YES (nulled if left blank) | NO |
Assignee | User assigned to the ticket | NO | --- | YES (unassigned if left blank) | NO |
Priority | Priority level | NO, but a default is used if left blank | Priority level of the issue. Define existing custom priorities and default values if one is not provided. | YES | NO |
IssueLinkType | The link type (e.g. "Blocks") used to link the issue | NO, The default link type will be used if a linked issue is selected, but the link type is unspecified. | New links added only, but old ones are not deleted. | YES, only if different link type. | YES |
IssueLink | Outward Link to issue | NO | YES | YES, only if different link type. | NO |
- Sometimes issues will fail to be created if some non-default fields are required for issue creation (e.g. reproduction steps). Check the error message provided. You will need to modify the source code to add those.