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.
viewissue.png
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
  • popup.png
  • 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

Fresh ideas, announcements, and inspiration for your team, delivered weekly.

Subscribe now