Chapter 12 - Add BIRT reports to JIRA Dashboards



The BIRT Application on JIRA

The SQL for JIRA - Eclipse BIRT application deploys and configures BIRT on JIRA. Once installed, the BIRT viewer listen to the following URL:


${JIRA Base URL}/plugins/servlet/kintosoft/birt/

and the BIRT reports are stored under the JIRA Home directory:

${JIRA_HOME}/kintosoft/birt-viewer/reports



Copy reports into the file system

BIRT reports can be copied into the system directory mentioned above and invoked via URL:


${JIRA Base URL}/plugins/servlet/kintosoft/birt/run?__report=Reported%20Issues.rptdesign


The URL above is a JIRA URL, so it requires the user logins JIRA to see the report. The report names must include the extension (.rptdesign) and be encoded (you might want to use this online tool for that).


The BIRT report gadget

However, the recommended way to display BIRT reports is via JIRA gadget as it allows to embed the reports in Dashboards and Confluence pages:.



Add the BIRT report gadget into a Dashboard and click on the Manage the reports link

Choose the BIRT report file and upload it:

The report file is stored by the application into the directory mentioned above (it is overwritten if it already exists) and listed on JIRA. Click on the Run link. The report is performed on a new browser window:



The report is opened in a new window. Please have a look at the URL:

It is running on JIRA! Just the same report that ran remotely from Eclipse... with no change!!

Go back to the Dashboard and Select the Report, set the Report Mode to run and the Auto Height attribute to true.

Save the configuration and see the BIRT report in action:


Maximize the gadget and observe that the gadget height is atomatically adjusted to show the entore content of the report with no internal scroll bar.



VERY IMPORTANT!!!!

Remove the user's credentials from the Report before upload it.

Click on the Download link from the BIRT report listing. The BIRt report is an XML file in plain text. Search for the "password" word in the XML content:


All teh BIRT reports elements are included in the report file, includeing the Data Source with the user's credentials. The user's password is encrioted with a very weak security algorithm and every body can read it by using a lot of tools:

Edit the Data Source in the BIRT report designer and remove the JIRA base URL and the user's credentials (username and password):

  • Databse URL: jdbc:jira:
  • Username: (blank) 
  • Password: (blank)


and upload it again on JIRA.

Please, keep in mind that the unique data reuired in the Data Source to run a BIRT report on JIRA with the SQL for JIRA Driver is the minimal JDBC URL:

jdbc:jira:

The rest of the Data Source data are simply ignored by the Driver. It connects to the local JIRA instance always! and it re-uses the JIRA user's HTTP session to fetch data from JIRA via the Java API according to the current user (logged in JIRA user). So, the BIRT report will also show data according to the user's permissons who performs the BIRT report on JIRA. Relying on the SQL for JIRA Driver, BIRT reports are fully compliant with the current JIRA consiguration, user base and their permissions fully preserving JIRA data privacy.

Furthermore, BIRT reports can be deployed on all the JIRA instances with no changes. Just the same BIRT report can be promoted along all the application life cycle: development, testing, production, etc. with no change.