Bulk Update Jira Issues from a Spreadsheet: CSV Guide
Jira Cloud can update existing issues from a spreadsheet, but only through the CSV importer in Jira’s admin settings, so you need a Jira administrator to run it. Your file needs a column mapped to Work Item Key (formerly Issue Key); rows whose key already exists in the selected space are updated instead of created. If you’re not an admin, use bulk change for one value across many issues, or one of the alternatives below.
This guide covers the admin CSV route step by step, then every route that works without admin rights. Menu names reflect Atlassian’s documentation in October 2026, after its rename of “issues” to “work items” and “projects” to “spaces”.
Pick the right method
| Method | Who can run it | Different value per issue? | Limit | Use it for |
|---|---|---|---|---|
| CSV import, matched by key | Jira admin | Yes | About 1,500 work items per file recommended | Large, varied changes prepared in a sheet |
| Bulk change | Anyone with edit and bulk change permissions | No, one value for all selected | 1,000 work items per operation | One value across many issues |
| Inline edit in the List view | Anyone with edit permission | Yes, one cell at a time | Practical for dozens, not hundreds | Small batches during a meeting |
| “Import work items from CSV” in search | Non-admins with create and bulk change permissions | Documented for creating items | 250 per file for non-admins | Creating issues |
| Sheets add-on with write-back | Depends on the tool | Yes | Varies | Repeated edits from a working sheet |
| REST API script | Anyone with an API token | Yes | Your script’s limits | Custom, repeatable updates |
Update existing issues with a CSV (Jira admin)
1. Export the issues you’ll change, with their keys
Run a JQL search that returns exactly the issues you’ll change, for example project = ABC AND fixVersion = "2026.11". Export to CSV, or import them into Google Sheets with any method from our Jira to Google Sheets guide. The key column is what makes this an update.
Save an untouched copy of this export. It’s your undo: if the import goes wrong, you can import the original values the same way.
2. Cut the sheet down to what you’re changing
Delete every column you aren’t changing, except the key and Summary. Fewer columns means fewer chances to overwrite a field by accident.
Keep Summary even if you don’t edit it. Atlassian’s import wizard won’t proceed unless a CSV column is mapped to Summary. You can leave the Summary cells empty on update rows, as Atlassian’s own example does.
3. Edit values in the format Jira expects
- Status: values must match statuses that already exist in the workflow. The importer can’t create statuses.
- Users: use email addresses or Atlassian account IDs rather than display names.
- Dates: pick one format and use it in every date column. You’ll tell the importer what it is.
- Labels, components, versions: to set several values, repeat the column with the same header, one value per column. In Atlassian’s example, an update row adds labels to the existing ones.
- Clearing a field: put
<<!clear!>>in the cell. Atlassian’s example uses it to remove labels.
4. Download the sheet as CSV
In Google Sheets, choose File > Download > Comma-separated values (.csv). Only the current tab is downloaded, so do this from the tab you edited.
5. Run the importer
Atlassian’s documented path, logged in as a Jira administrator (Import data from a CSV file):
- Open Settings > System.
- Under Import and Export, choose External System Import, then CSV.
- If you see the new import experience, select switch to the old experience. The CSV wizard that updates by key lives there. Users report that since mid-2026 some sites show it under Need more import options instead.
- Choose your CSV file and select Next.
- Select the existing space the issues belong to. Set Date format in import file using Java SimpleDateFormat syntax, for example
yyyy-MM-ddfor 2026-10-30. - Map your key column to Work Item Key, Summary to Summary, and each edited column to its Jira field.
- Map field values where needed, then select Begin Import.
Download the import log when it finishes and save the configuration file if you’ll repeat the import.
6. Check the result
Open five or six of the updated issues and confirm the changes. Then check the space for issues created in the last hour: project = ABC AND created >= -1h. If anything appears, some keys didn’t match, and the importer created new items with new keys. Atlassian warns about exactly this: keys must belong to the space you selected.
Before a big run: import a test file with three rows first. Atlassian recommends about 1,500 work items per file and estimates about an hour per import, depending on size. Run large imports outside working hours, and check how your workflow’s automation rules react to the status changes on the test rows.
If you’re not a Jira admin
Requests to let non-admins update by CSV (JRACLOUD-81633, JRACLOUD-84457) remain open, and an older one was closed as Won’t Fix. In the meantime, these routes work.
Bulk change, one value at a time
Jira’s bulk change sets the same value on every selected issue, for up to 1,000 at once (Atlassian).
- Open Filters > Search work items and run your JQL.
- Choose More actions (•••) > Bulk change work items.
- Select the issues, choose Next, then Edit work items. Status changes use the transition option instead, because Jira changes status through workflow transitions.
- Choose the change for each field, select Next, review, and Confirm.
Bulk change can’t edit Summary, Description, Environment, Space, Resolution or time tracking fields. Use bulk move for space and transitions for resolution.
Turn a sheet of different values into a few bulk changes
Most “different value per issue” changes only have a handful of distinct values: six priorities, four assignees, three fix versions. Group by value and run one bulk change per group.
If column A holds keys and column C holds the new priority, this formula builds the JQL for every issue that should become High:
="key in (" & TEXTJOIN(",", TRUE, FILTER(A2:A, C2:C = "High")) & ")"
Paste the result into Jira’s JQL search, select all, and bulk change Priority to High. Repeat for each value. Keep each list to a few hundred keys so the query stays manageable.
Inline edits in the List view
In August 2025 Atlassian merged Jira’s List and All work views into one List view with inline field editing, a bulk operations toolbar and grid navigation. For a few dozen edits during a planning meeting, editing cells directly in the List view is often faster than any export. Atlassian’s documentation says you can edit “some fields including summary, assignee, and status” inline; it doesn’t publish a complete list. Its August 2025 announcement also said the changes don’t apply to Jira Service Management.
Ask an admin to run your file
Prepare the CSV with steps 1 to 4 above and hand it over with a note listing the space, date format and column mappings. The admin’s part then takes minutes.
Use a Sheets add-on that writes back
Several Google Sheets add-ons send edits to Jira without a CSV round trip. As of October 2026:
- Project Aid for Jira is free, has 308K+ installs, and its listing offers “Bulk update Jira Issues from Google Sheet”. Updates are manual, and the listing doesn’t describe conflict handling.
- SheetSync (sheetsync.dev) pushes edits on demand or on a schedule, starting at $1/month for 150 issues per sync or $9/month for unlimited issues and one user.
- Mobility Stream and Unito sync continuously or through a sidebar, but Mobility Stream needs a Jira admin to install its Jira app, and Unito starts at $99/month billed yearly.
They differ a lot in how they handle status transitions and edits made in Jira at the same time. Our two-way sync comparison goes through each one.
Script it with the REST API
With an API token, an Apps Script can update each row: PUT /rest/api/3/issue/{key} with a body such as {"fields": {"priority": {"name": "High"}}} for ordinary fields. Status is different. Call GET /rest/api/3/issue/{key}/transitions to find the transition ID that leads to the status you want, then POST it to the same URL as {"transition": {"id": "31"}}. Transitions with required fields on their screen need those fields in the request too.
Tokens created since December 15, 2024 expire after at most a year, so put the renewal date in your calendar.
Options that only create issues
Three tools come up in searches but only create new issues, so they won’t help with updates as of October 2026:
- Jira’s non-admin Import work items from CSV, in search under More actions, handles up to 250 work items per file. Atlassian’s page describes bulk creation and doesn’t explain matching existing keys, and the open requests above ask for exactly that, so plan on it creating issues.
- Rovo Chat can create up to 10 work items at a time from an uploaded spreadsheet, a Beta feature an admin must enable.
- Google Workspace Studio’s Jira step (Beta since September 2026) can create issues and comments, not update them.
A safety checklist for any bulk update
- Export the affected issues first and keep the file as your undo.
- Test on three to five issues.
- Decide about notifications. Bulk change may ask whether to send email for the update; hundreds of emails at once annoy people.
- Run large changes outside working hours.
- Afterward, spot-check issues and search for anything created by accident.
Where Rowduet fits
Rowduet (in development) is being built so that a non-admin can make these edits directly in a Google Sheet: on the Team plan, edited cells will go back to Jira through your workflow’s transitions, with a check for conflicting changes before each write and a log of every change. It isn’t available yet. If that’s the workflow you’re stuck doing by hand, you can get early access.
Frequently asked questions
Can I update existing Jira issues with a CSV import?
Yes. Jira Cloud's CSV importer updates an issue when your file has a column mapped to Work Item Key and that key already exists in the selected space. The importer runs from Jira's admin settings, so only a Jira administrator can use it.
How do I bulk update Jira issues if I'm not a Jira admin?
Use Jira's bulk change, which sets the same value on up to 1,000 selected issues, or edit fields inline in the List view. For different values per issue, group issues by target value and run one bulk change per group, ask an admin to run your CSV, or use a Sheets add-on that writes back to Jira.
Why did my Jira CSV import create new issues instead of updating?
Either the key column wasn't mapped to Work Item Key, or the keys don't belong to the space you selected in the import. Atlassian notes that items whose keys aren't found in the selected space are imported with new keys.
Can I update the Summary or Description of many issues at once?
Not with bulk change; Atlassian lists Summary and Description among the fields it can't bulk edit. A CSV import by key can change Summary, and write-back tools or the REST API can change both.