JIRA Server integration - Issue Report

Hello, I am pretty new to development on JIRA software. Our environment is JIRA Server 7.2. One of the requirements we have is to create a custom dashboard/report that pulls in all issues of a particular custom “Issue Type” that we have created and render them in a single page. I have read some documentation on JIRA development and I see two options for the custom dashboard application.

  1. JIRA Servlet plugin module that is deployed within the host JIRA server. I found some examples here - https://developer.atlassian.com/server/jira/platform/creating-a-jira-issue-crud-servlet-and-issue-search/ Is this still relevant for the 7.2 version of JIRA software?

  2. Use REST APIs to build out a separate web application and host it in a separate environment (cloud or on-prem).

Do I have other options for integrating with the JIRA Server based on my use-case? Also my question is if i follow the servlet plugin path, is there some performance/design considerations I need to take into account? Also It looks like velocity is the UI framework that is supported in JIRA based on the above tutorial. Is there a possibility to add more modern JavaScript frameworks - if so how easy/difficult it is to integrate?

-----------------------------------------Update ------------------------------------------------
I ended up going down the route of adding a Servlet module within JIRA (with velocity and JQuery in template) and using internal APIs to fetch Issue related data to create the dashboard/report.

Do you want your dashboard to appear within the Jira application? If you write an add-on for Jira Server, you can make your data appear within the UI framework that Jira provides.

a) You could write a gadget or gadgets for Jira’s own dashboard.

b) You could write a report that appears under ‘Reports’ in the project view.

c) You could write a web panel.

With any of the above options, you have the option of using Velocity, Google Closure (Soy) templates, or some other rendering engine. Yes, you might need to develop a servlet, but Jira can host that for you too.

Thank you David for the quick reply and also providing with options. So we were not planning on updating the JIRA UI for this dashboard/report. The thought is to have a hardcoded link in a JIRA issue page to this dashboard and no updates to the out of the box UI. I have read the JIRA plugin development docs and also the modules that can be added. So from my understanding it looks like the modules in JIRA has to be integrated with a particular UI element (report, issue page etc…). Is that correct?

A custom servlet that is hosted in JIRA Tomcat was the only option I saw that can be standalone and still utilize the APIs to fetch the required data from host JIRA instance.

A web panel is a kind of web fragment. Web fragments can be integrated into various locations in the Jira UI, including the View Issue page, various administration screens, and also the main Jira navigation bar. See the section under ‘Locations’ in the web fragments documentation.