Skip to content

Latest commit

 

History

History
148 lines (94 loc) · 7.09 KB

README.md

File metadata and controls

148 lines (94 loc) · 7.09 KB

OpenReq Issue Link Map - Jira plugin

This jira plugin was created as a result of the OpenReq project funded by the European Union Horizon 2020 Research and Innovation programme under grant agreement No 732463.

This jira plugin visualizes the links between issues inside Qt’s JIRA. It uses the microservices of UH (API references) and the similarity detection service of UPC (API references). The OpenReq services milla, mallikas, keljucaas, mulperi, palmu, nikke and the similarity detection are used by this jira plugin and need to be running in order for the jira plugin to function.

Technical description

Technologies used

  • Tomcat
  • Vis.js
  • Google Gson
  • Okhttp3
  • Maven
  • Bootstrap
  • Jira by Atlassian

Functionalities of the OpenReq Issue Link Map

Currently available features

  • Visualization of the issue link map of issues in Qt’s jira

While in jira the user can only see the direct links, this tool enables the user to go more in-depth and also view indirect links between jira items.

  • Quick info for selected issue

Essential information of an issue is displayed on the right-hand side.

  • Navigating the link network

The user can drag items and add or remove depth.

  • Consistency Checker

Checking if the issues in the link map do not have conflicting link type and priority and displaying the result of a diagnosis that identifies potential inconsistencies.

  • Filtering the issue link map for specified properties

To support users in navigating the issue link map, they can filter the visualized issues by type, status and priority.

  • Accepting & rejecting proposed links

The results of a link detection are also visualized, this view should can be toggled on and off for a specific issue. While the link detection is enabled the user is given a list where he can decide what type of link should be used or if this proposed link should not be a link.

  • Full Integration into jira as a jira plug-in

Depending on the permission level of the users, they might not see private jira issues. Accepted & rejected recommended links are written back to the jira database if the user is authorized to do so.

Functionalities in development

  • Add more filter options

Adding more filter options, e.g to also filter edges.

  • Show inconsistencies in issue link map

Inconsistencies should be visually emphasized in the issue link map.

Functionalities planned

  • Editing links

By right-clicking a link, users can change the link type, switch direction or remove the link.

  • Editing issues

By selecting an issue, users can change the issue properties.

  • Adding new links

Users can search for and add existing issues into the graph and link them to an issue already in the issue link map.

Accessing the application

The application is accessible here

How to install

You first need to deploy the following OpenReq microservices on your jira server:

Mallikas is a database that jira plugin accesses over milla, so it needs to contain the issues you want to visualize and needs to be updated accordingly.

Adapt the jira plugin

You might need to adapt the colorPaletteStatus and arrowPaletteType in issueid-controller.jsp to the lingo used in your jira.

Create .jar

This is a maven project, so use

atlas-mvn package

to create the .jar needed to add the plug-in to your jira.

How to use

You can directly search for an issue here.

Search1

for example Issue: QTBUG-55604 and layer 2.

Search2

which will then give you the issue link map for issue QTBUG-55604 with layer 2.

LinkMapEx

Alternatively, you can access the test instance of Qt's jira https://bugreports-test.qt.io/secure/Dashboard.jspa and search for an issue. On the view page you can scroll down Issue Links, underneath this you will find OpenReq Issue Link Map.

Search3

You then can use the node filter, to filter the link map for the status, type or priority. Per default, issues with status done are not shown.

Filter

To check a release plan for inconsistencies in the issues and links, you can use the consistency checker. It searches the link map up to depth 5 for inconsistencies. It lists all releases and ignored links. If inconsistencies are found these can be shown by clicking "Find inconsistencies".

ConsistencyCheck

The link detection searches for an issue potentially linked issues which are not linked in Jira. These missing links are then recommended and can be accepted or rejected by the users.

LinkDetection

What does this application do?

Visualising the link network, recommending missing links and checking the consistency of your release plans.

What’s next?

  • Bug hunting
  • Improving Consistency Checker UI
  • Editing links & issues on the fly

Challenges

The ability to accept, reject and edit links need to be tied to the permisisons the user has in Jira.

Technical structure

techstructure The service sends a request (JIRA keys, e.g. “QTWB-30”) for data to milla and receives a JSON with the issue data. This data is then visualized.

Notes for Developers

We tried to comment most of the code to make it understandable. The Java part just gets the data in a vis.js friendlier format. The javascript & HTML/CSS will get some more functionality in the next iterations.

How to contribute

See OpenReq project contribution guidelines.

License

Free use of this software is granted under the terms of the EPL version 2 (EPL2.0).