Jira

From Archiveteam
Jump to navigation Jump to search

Jira is a bug tracking system developed by Atlassian. They previously offered a self-hosted version (Jira Server), but have ended sales on Feb 15, 2023[1] and support will fully end on Feb 15, 2024,[2] leaving the only options as their cloud version[3] or the comically expensive data center version.[4]

Strategy

An ArchiveBot !a command will not properly discover all issues.

The approach I've used is to find the highest-numbered ticket in each project (use the "all issues" filter and order by "key"), and then generated a text file listing all of the ticket URLs, which then can be ran (by an op) as an !a < list job. However, this will not save issue attachments due to the no-parent rule, so in addition the job's database needs to be manually saved and the relevant links need to be extracted from the database, and can be run as a separate job.

Attachment mime types do get detected as a relative URL, and will need to be ignored, along the lines of https?://{primary_netloc}/browse/(application|text|image|video)/. Not all attachments are found like this due to a wpull quirk, so this is insufficient for getting a list of attachments.[5] Additionally, attachment sorting is not useful to save, so [?&]attachment(Order|ViewMode|SortBy)= can be ignored.

Issue comments are loaded via JS and are not properly saved. However, all comments are included when exporting an issue in "printable" form, as well as in the XML and DOC export formats. As such, these export links are worth saving (though they either need to be generated as a list or extracted from the job's database). https://example.com/si/jira.issueviews:issue-html/PROJ-12345/PROJ-12345.html

https://transfer.archivete.am/qMgJa/jira_url_list.py[IAWcite.todayMemWeb] generates a list of URLs, also using the Jira API[IAWcite.todayMemWeb] to determine the maximum issue for each project. https://transfer.archivete.am/6owk9/jira_process_db.py[IAWcite.todayMemWeb] extracts attachment URLs from databases. (Offsite links aren't done yet.)

A few sites have attachments that redirected to a login page, e.g. https://hub.spigotmc.org/jira/secure/attachment/10005/daf45dfd-da9b-498b-96e4-5782bbac11c7.dat from https://hub.spigotmc.org/jira/browse/SPIGOT-31. These are simply broken, and logging in results in a 404 page for those attachments. The attachment zip for those issues also gives a 500.

https://transfer.archivete.am/6rcal/jira_url_list_delux.py[IAWcite.todayMemWeb] was used to generate lists of tickets from the API, as well as the API calls themselves, for two sites, though in both cases the script needed to be modified and using 1000 entries/request does not work well (100 entries/request seems much more stable). This was needed due to large numbers of nonexistent tickets due to either importing from another issue tracker or large amounts of deleted spam.

3 sites (checked via jira_archived_check.py[IAWcite.todayMemWeb]) have archived projects, which do not appear in search results. Issues for those projects were enumerated using jira_url_list_archived.py[IAWcite.todayMemWeb] which incrementally issues HEAD requests.

Status

No public issues

References