How can I define Issue ID and Parent ID before CSV import procedure?

This question is in reference to Atlassian Documentation: Importing data from CSV

How can I define Issue ID and Parent ID before CSV import procedure to avoid cases with duplicating of issues? 


I mean case when you are trying to upload issue with Issue Id which already exists in JIRA.


Thank you.

1 answer

1 accepted

Accepted Answer
1 vote

You don't. If you already have a existing key,  the import has to assume you are updating existing data,  not creating a duplicate. 

Are Issue ID and Parent ID used only for issues import from CSV?

When I tried to upload same CSV file with one Task and three sub-tasks in it two times in the row I found that second import process has created sub-tasks in already existed(imported in first try) Task.

No, sorry, I think you're misunderstanding what the importer will do.

Let's say that the important fields in here are

  • Issue-ID - representing a JIRA issue id
  • Parent-ID - again, a JIRA issue id, but one that is intended to be the parent
  • Data - some other field with data in it.

If a record has no issue-id or parent-id, the importer has no information about existing data, so it will try to create a new record

If a record has an issue-id, then the importer will check to see if it can find that ID in the target system.  If it can, then the data must be an update of fields.  If it can not, then it has no information and has to assume this is a new issue

If a record has a parent-id, then the system will do the same as above, but working on the assumption that the data is for a sub-task instead

Thank you, Nic.


So if I would like to import several tasks with sub-tasks inside and I would like to avoid case when existed data will be updated because of existed Issue Id will be defined in CSV file. How can I proceed with this? I have to enter Issue ID and Parent ID to CSV file for link between sub-tasks and parent tasks. But I don't know whether entered Issue ID is unique.


Thank you.

Right, that's covered in the docs - go to and read the section "Creating sub-tasks"

I've already read that topic.


Thank you for your help, Nic.

Probably I am not accurate with my questions.


I am trying to import new Task(with sub-tasks) from CSV to existed JIRA Project.

  1. Don't want already existed issues be updated because of my import;
  2. Don't want to lose any other existed data because of my import.

So what Issue ID and Parent ID should I enter to CSV file?

Can I verify somehow which Issue ID and Parent ID are already used?


Thank you.

They can't be "already used", they're part of your data that you set up to show the importer the relationship between "issue on line 87 is a subtask of the issue in line 4"

Thank you, Nic.

Now it is clear for me.

Have a good time.

I didnt understand the reply of Nic.

I think I am having the same issue.


I upload issues with ID 1,2,3 on Sprint 1

then I wanted to add sprint 2 still using bulk upload. How would i know i have to start with ID 4,5,6 and not go back to 1,2,3? 

I tried uploading 1,2,3 with the intention of not updating old tasks but to create new ones. but it failed because it said it already exists. 

Because i knew the last used id was 3, i knew i had to use 4,5,6. But if someone in our team had to upload, how will they know this?


And i needed to specify the id because i had to define sub tasks.

I know, this is a really hard one to explain. But could you take a step back, and explain what you are trying to achieve here?  I can't see whether you are trying to import new issues (with subtasks?) or update existing ones?

I have the same issue as Denise I think. Let's say I have sprint 1 with 3 user stories. In my CSV I enter Issue IDs 1, 2, and 3. 

The documentation here mentions the Issue ID must be unique and sequential. It mentions nothing about being unique to the entire project, and I think a lot of users are interpreting that line as "unique to the particular CSV". 

When sprint 2 rolls around, I have 3 more stories.  Based on Denise's and my own logic, it would make sense that this new CSV for sprint 2 can also use Issue IDs 1, 2, and 3 for the 3 new stories and they will be created as new stories in JIRA, not update the last sprint's stories. I think what you're trying to say though is that Issue ID is stored in JIRA, so the first sprint's stories will always have the Issue IDs of 1, 2, and 3. For Sprint 2's stories, we must use Issue IDs 4, 5, and 6. 

This is not clear in the documentation and has caused a lot of headaches. Because JIRA stores that ID, the user must remember what ID was the last one used or come up with a random number each time, right? It would make much more sense to me if the ID was only temporary for linking during the individual CSV import. 

Would this solution work? If I appended the current date to the beginning of the ID, then made them sequential, I doubt I'd ever repeat them. IE if I had to import a story I would make the Issue ID "051520181", then the next would be "051520182", and so on. 

Suggest an answer

Log in or Sign up to answer
Community showcase
Published yesterday in Jira Ops

Jira Ops Early Access Program Update #1: Announcing our next feature and a new integration

Thanks for signing up for Jira Ops! I’m Matt Ryall, leader for the Jira Ops product team at Atlassian. Since this is a brand new product, we’ll be delivering improvements quickly and sharing updates...

300 views 0 6
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you