Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Uploading in bulk the tasks under mutliple stories.

Lisa Warren
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
May 1, 2026

What is the process for uploading a CSV file of tasks that must be completed under multiple stories in an Epic?

2 answers

0 votes
Ivan Manolov _Appfire_
Atlassian Partner
May 4, 2026

Hi @Lisa Warren,

Worth flagging the hierarchy point @Walter Buggenhout raised first, because it's the most common stumbling block: in Jira, Tasks and Stories sit at the same level. So you can't have Tasks under Stories directly - the three-level structure has to be Epic > Story > Sub-task.

If your "tasks" are really sub-tasks of stories, here's the CSV setup that works:

  1. Add a unique Issue ID column. Give every row, parent and child, a unique value (e.g., 1001, 1002, ...). These IDs only matter inside the import — Jira will assign real keys after.
  2. Add a Parent Issue ID column for child rows, pointing at the Issue ID of the row that should be its parent. Stories point at their Epic's Issue ID, sub-tasks point at their Story's Issue ID.
  3. Order matters. Put Epics first, then Stories, then Sub-tasks. The importer processes top-to-bottom.
  4. Set the Work Type column correctly on every row (Epic / Story / Sub-task), and make sure all three types exist as work types in the target project.
  5. Run the import via Settings > System > External system import > CSV. On the data-mapping screen, map your Issue ID and Parent Issue ID columns explicitly.

If your "tasks" are actual Tasks (not sub-tasks) and you want them grouped with stories under the same Epic, the structure is different: both Tasks and Stories become children of the Epic, with their Parent set to the Epic's Issue ID. There's no nesting between them.

The official guide is here: Importing data from a CSV file — pay attention to the "Creating sub-tasks" section.

Hope this helps,

Ivan

Ivan Manolov _Appfire_
Atlassian Partner
May 4, 2026

@Lisa WarrenOne more thing worth mentioning, in case you'd rather avoid the CSV importer altogether.

If you're open to solutions from the Atlassian Marketplace, JXL is a spreadsheet-style view for Jira where you can paste data from Excel or Google Sheets straight into Jira fields, parent relationships included. You'd open a sheet showing your Epic and its existing Stories, then paste your task rows underneath the right Story; JXL creates the new sub-tasks under the correct parents in one go, no Issue ID column or import wizard required. It's also handy when the data isn't quite right after import, since you can fix everything inline in the same sheet.

paste-from-excel.gif

Disclosure: I work for the team that builds JXL.

Cheers,

Ivan

0 votes
Walter Buggenhout
Community Champion
May 1, 2026

Hi @Lisa Warren and welcome to the Community!

It's quite important to first of all understand Jira's work type hierarchy. Tasks and Stories are at the same hierarchy level in Jira - so if you want to apply 3 hierarchy levels, these need to be:

Epic > Story > Sub-task

Make sure you have those defined as such in your csv file and also make sure all 3 work types are available as work types in the Jira space you want to import your csv file into.

In the csv file, you will have to make sure you identify each item with a unique identifier. Use those identifiers to link each child item to its parent.

With that preparation in mind, see this support article explaining the technical steps for preparing and importing a csv file. Pay special attention to the section on Creating parent / child relationships.

Hope this helps!

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events