Wiki source code of Issue Tracker

Last modified by Vincent Massol on 2025/12/18 09:46

Show last authors
1 The XWiki project currently uses [[JIRA>>https://jira.xwiki.org/]].
2
3 {{info}}
4 There's work under way to explore using [[Open Project>>https://op.xwiki.org/]] as a [[replacement>>design:Proposal.JIRAAlternatives]] since the project cannot move to JIRA Cloud which would have volume restrictions for a large project such as XWiki (assuming we could get an Open Source License), and we have a preference for using an open source solution.
5 {{/info}}
6
7 {{toc/}}
8
9 = JIRA Usage =
10
11 See [[JIRA Usage>>Community.IssueTracker.JIRA.WebHome]].
12
13 = OpenProject Usage =
14
15 See [[OpenProject Usage>>Community.IssueTracker.OpenProject.WebHome]].
16
17 = Requirements =
18
19 These are the XWiki project's needs, used for selecting an issue tracker.
20
21 == Must Have ==
22
23 * REQM01: Be able to issue queries to find issues (e.g. JQL for JIRA), including global search in all projects. It's used in lots of places, including on hundreds of pages on xwiki.org
24 * REQM02: Be able to label issues. We're using [[the following labels>>dev:Community.IssueTracker.JIRA.WebHome||anchor="HRule:Usetherightlabels"]]
25 * REQM03: Be able to have several resolutions for issues (Won't fix, Fixed, Duplicate, Solved By, etc.)
26 * REQM04: Be able to have categories (components in JIRA parlance)
27 * REQM05: Be able to automatically link GitHub commits with JIRA issues (i.e., links from JIRA to the commits)
28 * REQM06: Be able to have [[several issue types>>dev:Community.IssueTracker.JIRA.WebHome||anchor="HRule:Choosetherightissuetype"]]
29 * REQM07: Be able to have graphs to follow, for example, [[the number of bugs created vs resolved>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=10352]]
30 * REQM08: Be able to have REST endpoints to create XWiki macros (e.g., the JIRA macro) or scripting in xwiki pages
31 * REQM09: Be able to have several projects (one for each repo)
32 * REQM10: Be able to have several groups ([[categories in JIRA>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=10000]] parlance)
33 * REQM11: Be able to mass refactor issues (select issues with a query and then apply changes to all of them: add a fix version, etc.)
34 * REQM12: Be able to set permissions/groups/roles for authorization
35 * REQM13: Be publicly accessible
36 * REQM14: Be able to self-register and create issues
37 * REQM15: Be able to have shared schemes to share configs between projects (permission scheme, workflow scheme, etc.)
38 * REQM16: Be able to define custom fields (we use that for documentation and flickering tests for example)
39 * REQM17: Be able to receive notifications (individual or to a notification list)
40 * REQM18: Be able to import existing issues from the current issue tracker (e.g. JIRA) and not loose metadata ideally
41 * REQM19: Be able to move issues (and not have to close and copy issues)
42 * REQM20: Be able to link between issues (“depends on”, “is related to”, etc.)
43 * REQM21: Be able to see the detailed history of the issue
44 * REQM22: Be able to add attachments and display pictures/video integrations
45 * REQM23: Be able to have priorities, including a Blocker priority.
46 * REQM24: Be able to have statuses (open, in progress, closed)
47 * REQM25: Be able to self-register confidential issues (e.g. for security issues)
48 * REQM26: Be able to have different fields for different projects (e.g. some projects don't have the notion of Version)
49
50 == Nice to have ==
51
52 * REQN01: Be able to have dashboards for releases (e.g. [[JIRA Dashboard>>https://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=15691]])
53 * REQN02: Be able to see similar issues when creating new issues to avoid duplicating existing issues
54 * REQN03: Be able to execute scripts inside the issue tracker to query issues and perform changes
55 * REQN04: Be able to link issues with issues from an external bug tracker (Apache JIRA instance, etc.)
56 * REQN05: Be able to sponsor issues (e.g. we used to use FreedomSponsors in the past)

Get Connected