Engineering · Export guide

How to Export Jira Issues, Comments and Change Histories

Export Jira Cloud issues as CSV, collect paginated changelogs where needed, and preserve workflow transitions, comments and attachment references for AI datasets.

Before you begin: scope and permissions

  • Verify project visibility, issue security and comment restrictions for the exporting identity.
  • These UI steps target Jira Cloud; confirm a separate documented workflow for Data Center and review API authentication and scopes before automation.
  • Approve the intended scope and use with the business owner; export access alone does not establish licensing rights.
  • Use an approved encrypted working environment with restricted access and a retention deadline.

Scope issues and their workflow evidence

Jira contains issue descriptions, comments, links, parent-child relationships, status and assignment changes. A current issue snapshot cannot explain every past decision. Organizations export for reporting or migration; an AI workflow dataset may additionally need transitions, attempted fixes and linked code changes. Choose projects and issue types with a clear interpretation and exclude restricted security or personnel issues unless expressly approved.

Export issues from Jira Cloud

Use Filters → Search work items to define a query, open More actions, choose Export, and select Export CSV – all fields when comments are required. Atlassian documents comments in repeated columns and UTF-8 output in its Cloud export guide. CSV can contain attachment URLs, but it does not bulk-download the actual files.

Save the query and export time with the file. Inspect the row count and a known issue with multiple comments. A filtered list is a selection, not proof of a complete project archive. Use a CSV parser that preserves repeated-column positions rather than overwriting columns with identical names.

Collect historical changes through the API

The REST v3 issue reference documents paginated issue changelogs and bulk changelog retrieval. Check endpoint scopes and the caller’s actual visibility before collecting. Request all pages; an expanded history embedded in an issue response must not be assumed complete. Keep comment collection and change history as separate objects with their own pagination checks.

For larger projects, store a bounded source issue list first, then collect the required histories for those IDs. Checkpoint per issue, retry with controlled backoff, and keep a list of incomplete histories. Do not claim full coverage because every issue has at least one event.

Preserve workflow semantics

Store source issue ID and human-readable issue key separately. A key can change as issues move, so it should not be the only identity. Preserve status IDs alongside names, issue type, project, parent, links and custom-field definitions. A “Done” status may mean a task completed, a duplicate closed or a request rejected; retain resolution meaning instead of collapsing all terminal states into success.

Synthetic example: issue i-44 moves from Investigating to Ready for review after comment c-8; a linked pull request is merged, then the issue is reopened. A useful prepared sample retains the reopen event. Using only final state would hide the failed first attempt. Link external artifacts only when their access and reuse rights are separately established.

Keep description formatting or its source representation before normalizing to text. Code blocks and lists can carry essential instructions. Separate customer identifiers and credentials from technical error details; blanket deletion of every number can destroy version strings and reproduction steps.

Deduplicate repeated exports by source ID and version. Group parent tasks, duplicates and linked incidents when creating evaluation splits so a near-identical bug does not appear in both training and testing. Document whether changelog coverage supports a historical task or only a current-state analysis.

Troubleshoot gaps and evaluate licensing readiness

Why are characters garbled? Inspect the file with a UTF-8-aware tool before modifying the original encoding.

Why do workflow totals disagree? Compare issue-level history coverage, permissions and extraction cutoffs; do not infer missing transitions from the final status.

Potential uses include bug triage or engineering-workflow evaluation. Buyer fit depends on intelligible domain context and reliable outcomes, not issue count alone. Customer bug reports, contractor comments and linked third-party code need a rights review distinct from Jira administration.

Release checklist

  • Export all required comments and fetch complete paginated changelogs where workflow history is needed.
  • Preserve issue IDs and keys, custom-field definitions, status meanings and attachment inventories.
  • Reconcile source counts and date coverage; record excluded or unavailable records.
  • Validate identifiers, relationships, timestamps and field types after transformation.
  • Document provenance, privacy review, third-party restrictions and the authorized release approver.
  • Scan the release files for personal information, secrets and confidential material; test a reviewed sample before transfer.

Have a proprietary dataset?

Find out whether it may be suitable for AI licensing. Start with a high-level description of the source, date range, volume, rights status, and preparation work still needed.

Assess dataset readiness

Use the existing buyer application when ready. Share only authorized information. Do not submit raw confidential records, credentials, or personal data in the initial assessment.

Sources & verification

Official documentation reviewed 2026-10-15. Procedures and access rules can change. These are documentation-based instructions, not a live export from your account. Verify your product version, permissions and retention settings before running a job.