This feature will be invaluable to support teams (for when users attach a bunch of diagnostic files in a ZIP) and could potentially change the way a lot of customers user Jira. Instead of attaching one file at a time, a user could potentially attach a single Zip with all of the files related to an issue – saving time, frustration and disk space.
Yet another ShipIt Day V project: add the ability to browse ZIP files in Jira.
Abstract
This feature will be invaluable to support teams (for when users attach a bunch of diagnostic files in a ZIP) and could potentially change the way a lot of customers user Jira. Instead of attaching one file at a time, a user could potentially attach a single Zip with all of the files related to an issue – saving time, frustration and disk space.
Implemented Features
- Browse the contents of Zips
- Stream specific files from a Zip
- Speedy, efficient handling of:
- Large Zip file sizes (tested up to 100mb, 10x the default maximum Jira attachment size)
- Zips containing large, high compression ratio files (streamed a compressed file at a rate of 4-5 megabytes per second from a locally hosted Jira instance)
- Zips containing large numbers of files
- Collapsible Zip file attachment view on View Issue page
- Truncated to display fifteen compressed files when Zip file is expanded on View Issue page; it also provides a link to a…
- …pop-up which displays all files and collapsible subfolders
- Compliant with Jira’s attachment versioning
- No extra database tables, properties or any persisted metadata – all created quickly with negligible performance hit at runtime for reasonable usage
- No extra Jira dependencies (uses java.util.zip.*)
Future Features
- Handling for other archive types (java.util.zip.* supports gzip for starters)
- Prettier attachment handling in general
- Search Zip contents (useful for large Zip files)
- Zip content indexer for Atlassian Bonnie
- Nested Zip browsing
- Ability to download a Zip of all attachments for an issue
TODOs before release
- Refactoring of JSPs
- Minor clean-up of ZipManager
- Minor clean-up of ViewZipServlet
- Overview & rationalisation of domain objects
This feature has been tentatively added to the Jira Roadmap for 3.11