Report Bursting in JasperReports Server

What is report bursting?

Take this example. You have a report that shows all the accounts that a particular employee owns in your company. The user can log into your reporting system and ask for the report, he'll be asked to enter his employee ID or maybe it will be filled in automatically based on who he/she is.

Now your boss asks you (a BI professional) to send each employee their list of accounts on a weekly basis...yikes! You need to automate this. What do you do?

As of Jaspersoft version 5.0 there's no UI built into the web-application to handle the complex task of report bursting. Designing an UI that let's you iterate through any possibility of inputs, read any possibility of values and output to any possible medium is tricky, for now you have to build your own utilities using the rich SOAP or REST APIs that are available in JasperReports Server. The easiest way I found to do this using is using JaspersoftETL (Talend) and a component called tJasperServerExec

The custom component calls the API of Jaspersoft to handle the report execution end. There are more components like this coming one day soon that let you use the scheduler built into Jaspersoft, for this example we use the mail sending capabilities of Talend.

What the video doesn't cover is scheduling of this job. The community editions of ETL rely on you to schedule jobs yourself using cron or the Windows scheduler. The commercial editions allow you to publish the job to the Administration Server which have the ability to schedule from a web UI.

So here's how it's done: