Stop attaching files to Jira issues one by one. Bulk Attach finds or maps the right issues for a batch of local files, shows you exactly what will happen before anything uploads, then does it safely.
01Overview
Bulk Attach has two workflows, reached from tabs at the top of the app:
Browse & Attach
Search and filter your Jira issues, tick the ones you want, drop in your files. Best when you already know which issues you're targeting.
Smart Mapping
Select many files first, then let the app work out which issue each one belongs to — by filename, by CSV, or assigned manually. Best for bulk migrations.
Every attachment upload goes straight from your browser to your own Jira site — see the Privacy Policy for the full data-flow explanation.
02Permissions
Bulk Attach acts as the currently signed-in Jira user — it can only do what you could already do by hand. To use it on a project, you need:
- Browse Projects — without it, an issue looks like it doesn't exist (a
404), not like a permission problem - Create Attachments — without it, uploads to that project fail with a clear permission message
Attachments must also be enabled site-wide by your Jira admin (Jira Settings → Attachments).
03Browse & Attach
- Drop in or browse for your local files on the left.
- On the right, filter by project, status, issue type, assignee, or updated date — or switch to Advanced/JQL for a direct query.
- Tick the issues you want. Your selection persists across searches and page changes, shown in a running Selected issues tray with individual remove buttons.
- The app shows the math before you commit:
N files × M issues = N×M attachment operations. - Click Review, check the preflight table, then Upload.
Every selected file is attached to every ticked issue — that single rule covers both "many files to one issue" and "one file to many issues."
Click Attachments next to any issue row to see its existing attachments, loaded only when you expand it.
04Smart Mapping
From filename
Reads a Jira issue key straight out of each filename:
| FIN-123-invoice.pdf | → | Ready FIN-123 |
| FIN-124_contract.docx | → | Ready FIN-124 |
| unknown.pdf | → | Unmatched no key detected |
Project keys of any length are recognized — not just three characters. Unmatched files are listed, never silently uploaded.
From CSV
Upload a mapping file with issue_key and
filename columns:
issue_key,filename
FIN-102,invoice-8841.pdf
FIN-103,invoice-8842.pdf
Parsed entirely in your browser — the CSV itself is never uploaded anywhere. Listing the same file on more than one line sends it to more than one issue.
Manual
Search and assign issues per file, by key or by summary text. A single file can carry any number of assigned issues.
05Preflight validation
Nothing uploads until you click Upload, and preflight checks every row against live Jira first:
| Status | Meaning |
|---|---|
| Ready | Passed every check — will be uploaded |
| Unmatched | No issue key could be determined |
| Invalid issue | The key doesn't exist, or you can't browse it |
| Too large | Exceeds this site's configured attachment size limit |
| Duplicate | Same file already targets this issue elsewhere in the batch — blocked unless you click Allow on that row |
You can edit an issue key, remove a row, or re-validate the whole batch before uploading.
06Upload & progress
Uploads run through a bounded queue — a handful at a time, never all at once. Live progress shows uploaded / pending / failed counts and what's currently in flight. One failed upload never stops the rest of the batch. Rate limits and temporary server errors are retried automatically with backoff; permission errors are not retried, since they won't succeed on a second try.
07Results & Undo
When the batch finishes, you get a summary (successful / failed / skipped), a Download results CSV button, and if anything failed, Retry failed — which re-sends only the failed rows, never re-uploading anything that already succeeded.
Undo This Batch removes exactly the attachments that batch just created, identified by their exact Jira attachment ID — never by filename or issue match. It requires an explicit confirmation ("I understand this cannot be undone") before anything is deleted, and never touches attachments that existed before the batch ran.
08Batch limits
Two safeguards against accidental mass operations:
- At 100 or more operations, an explicit confirmation checkbox appears and Upload stays disabled until you tick it.
- At more than 500 operations, the batch is blocked outright with a message asking you to split it into smaller batches.
09FAQ
Does this delete or manage existing attachments?
No, except for Undo This Batch, which only removes what the current batch itself just uploaded. Bulk Attach does not offer general attachment browsing, deletion, or download — it's focused on uploading.
Can I attach the same file to several issues?
Yes — that's one of the two core shapes the app is built around (see Browse & Attach above, or Manual mapping for per-file control).
What file types are supported?
Anything your Jira site's attachment settings allow. The app doesn't add its own restriction.
10Support
Questions or issues: abuzarmirza918@gmail.com.