How to extract file attachments from Jira Server with ticket links preserved

Hello everyone! I got tasked with moving all our file attachments from our current Jira Server setup to another system. The problem is that when I try to use the standard export features, they don’t grab the attachments together with the issue information at once. I’m pretty new to working with Jira administration stuff, so I’m hoping someone here knows an easy way to do this. Maybe there’s a built-in option I missed or some free add-on that can help? The main thing is I need to make sure each attachment stays connected to its original ticket when I export everything. Anyone dealt with something like this before?

I faced a similar challenge when migrating projects. The standard export from Jira does omit attachments, which can complicate the transition. In my experience, leveraging the Jira REST API proved invaluable. It allows you to fetch both ticket details and their corresponding attachments in one go. If scripting isn’t your forte, I recommend looking into add-ons like Configuration Manager for Jira, though there are associated costs. Alternatively, if you have database access, exporting directly via SQL is an option worth considering. Personally, the API method ensured that all data remained interconnected and intact.

check if ur jira has csv export under system admin - it often includes attachment metadata with direct links. then just script a simple wget to pull all files using those URLs. we did this for our migration last year and it kept everything linked properly without getting too complicated.

We just did something similar at my company and used a mixed approach. Since you’re new to Jira admin, check if your org has existing PowerShell or Python scripts for this - lots of teams have already figured it out. The game-changer for us was creating a mapping file first that connects attachment IDs to their parent issues before downloading anything. We wrote a quick script that hit the attachment table directly (if you’ve got read access) then used curl to download each file while keeping the folder structure organized by issue keys. This kept all the relationships intact and made importing to our new system way easier. Took about a day to set up right, but it saved us weeks of doing it manually.

This topic was automatically closed 4 days after the last reply. New replies are no longer allowed.