File uploads,
your rules
Jira's built-in attachment box takes any file, of any size, with no way to require one before a request moves on. File Field adds dedicated attachment fields with rules you set — and your choice of storage.
One field, two storage modes
Set per field, in the field's own configuration. Neither mode is strictly better — they trade different things.
Portable
Real Jira attachments- Files are ordinary Jira attachments — nothing proprietary.
- Survive uninstalling this app completely.
- Visible to anyone who can view the issue, exactly like any other attachment.
- Per-field view permissions cannot be enforced in this mode.
Private
This app's own storage- Stored in Forge Object Storage, hidden from Jira’s native attachment panel and any integration that reads it.
- The only mode that supports uploads while an issue or request is still being created.
- Do NOT survive uninstalling this app.
- Download files you need before you uninstall — or export the whole field as a ZIP.
Built for real
upload rules
Dedicated fields, not one shared box
Jira gives every issue a single, unstructured attachment box. Add as many File Field custom fields as you need instead — one for contracts, one for design assets, one for a JSM request form — each with its own rules.
Rules that actually stop bad uploads
Restrict a field by file type (category, extension or MIME), and cap size and count. A renamed file is caught too — content is checked against its claimed extension server-side, not just trusted from the browser.
Two storage modes, your choice per field
Portable stores real Jira attachments that survive an uninstall. Private stores files in this app’s own storage, isolated from Jira’s native attachments and any integration that reads them, and works during issue or request creation. Pick per field — not one setting for the whole site.
Test your rules before anyone hits them
Type a hypothetical file name, MIME type and size into a field’s configuration and see whether it would be accepted — without uploading anything, before you finish setting the field up.
Inline preview, one-click download
Images and PDFs preview in place. Every other file type downloads with a single click, in either storage mode.
Download every file at once, as a ZIP
One click bulk-exports every file in a field into a single ZIP archive, in either storage mode — no competitor offers this.
Runs on Atlassian
Contextra Labs operates no servers for this app. Private-mode file bytes live in Forge’s own Object Store, an Atlassian-operated service — not a third-party one — and no external egress is declared.
What this app does not do
We would rather you read this now than discover it after paying.
- Private-mode files do not survive uninstalling the app — a deliberate tradeoff for storage isolated from Jira’s own attachments, not a bug. Export the field as a ZIP, or download files individually, before you uninstall.
- Neither storage mode restricts who can see a file beyond Jira’s own issue-view permission. Private mode hides files from Jira’s native attachment panel, but it is not a per-field access-control feature — anyone who can view the issue can access the files, in both modes.
- One permission isn’t granular. Five of the six scopes this app requests are the narrowest Atlassian offers for the job. The sixth, write:jira-work, is required because Jira’s legacy attachment-upload endpoint isn’t fully covered by the granular write:attachment:jira scope — a platform gap, not a design choice.
- Adding a field to an issue takes a few admin steps beyond creating it — screens and contexts, and on team-managed projects, the project’s own field list and each work type’s layout. See the documentation for the full chain.
- Requiring a file before a workflow transition is not available yet. The underlying check exists in the codebase but is not yet enabled, pending further verification.
Try it on a free evaluation period
No credit card required. Install from the Atlassian Marketplace and evaluate on your own project. If your evaluation lapses, the field stops accepting new uploads — files you've already stored stay visible and downloadable.