DEV Community

Cover image for I built a Jira Cloud backup tool after Atlassian deprecated theirs and paywalled the replacement
David Malko
David Malko

Posted on

I built a Jira Cloud backup tool after Atlassian deprecated theirs and paywalled the replacement

The Problem

On March 30, 2026, Atlassian deprecated the Jira Cloud Backup Manager
API
— the only way to automate project backups on Standard plan. Their
replacement? A paid add-on, Premium/Enterprise only.

That doesn't work if you need to:

  • Migrate a single project to a new Jira instance
  • Archive a project before deleting it
  • Restore after accidental bulk changes
  • Have automated backups without upgrading your plan

So I built a free tool.

Who this is for

  • Jira Cloud Standard plan users
  • Teams migrating a single project to a new Jira instance
  • Admins who want automated backups without upgrading their plan

What It Does

jira-project-backup-restore backs up and restores individual Jira
Cloud projects using the standard REST API v3.

Backup captures:

  • All issues with full field data and changelog history
  • Comments, worklogs, attachments (binary files streamed to disk)
  • Agile boards, sprints, components, versions, project roles

Restore features:

  • 5-phase restore: epics → regular issues → subtasks → links → comments → worklogs → attachments
  • Resumable: re-run after interruption, already-processed items skipped
  • Dry-run mode: preview all actions without touching the API
  • Cross-instance: backup from one org, restore into another
  • --skip-existing: skip projects that already have a complete backup
  • Auto-cleanup: incomplete partial folders removed before each run

Install

pip install jira-project-backup-restore

Quick usage

Backup

python main.py --backup PROJ

Backup multiple, skip already completed

python main.py --backup PROJ1,PROJ2 --skip-existing

Restore with dry-run first

python main.py --restore backups/PROJ_20260322_143000 --target NEWPROJ --dry-run

Then for real

python main.py --restore backups/PROJ_20260322_143000 --target NEWPROJ

Known Limitations (API constraints, not tool ones)

Data Status
Timestamps Not restorable — Cloud API blocks it
Comment author Prepended as text attribution
Issue keys Reassigned — mapping saved to key_mapping.json
Issue status Resets to default — transitions phase planned

GitHub

https://github.com/davidmalko87/jira-project-backup-restore

PRs and feedback welcome

Top comments (0)