RapidIdentity Product Guide

Reporting Actions

Identity Automation Consulting Services will sometimes use Jaspersoft, a third-party reporting software, to create templates for Connect Action Sets to use that will export data as a branded PDF file for direct customer consumption. These are the actions used to access an existing template and convey data.

Once created, a .jrxml template file can be called within a Connect Action Set to output parameters, fields, and records in a customizable pdf or html format. Identity Automation provides this as a service to customers, but for those who want to use their own templates, the actions to use to call this file format are listed below.

Load a Jaspersoft .jrxml report definition.

Property

Value

Description

reportDef*

expression, variable

report definition

parameters

expression, variable

Record or ECMAScript object containing report parameters

data*

expression, variable

collection of records to be reported on

format*

choice (pdf, html), text, expression, variable

collection of records to be reported on

path*

text, expression, variable

path of report output file (relative to dss server managed file store)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Note

Any image files referenced by the report definition need to be uploaded to the RapidIdentity Connect server in the same directory as the report definition. Generation of an HTML report also generates a directory named <path>_files that contains image files referenced by the html report.

Load a Jaspersoft .jrxml report definition.

Property

Value

Description

path*

text, expression, variable

the path of the Jaspersoft JRXML report definition file (relative to dss server managed file store)

returnVariable

expression, variable

name of the variable to be assigned to the return value

Example

report = loadREportDefinition('report.jrxml')
data = createArray()
insertArrayItem(data, 0, {"employeeID": net.idauto.common.util.UUIDs.randomUUIDString(), "givenName": "John", "sn": "Doe", "mail": "jdoeexample.com", "sAMAccountName": "jdoe"})
insertArrayItem(data, 1, {"employeeID": net.idauto.common.util.UUIDs.randomUUIDString(), "givenName": "Homer", "sn": "Simpson", "mail": "hsimpson@example.com", "sAMAccountName": "hsimpson"})
insertArrayItem(data, 2, {"employeeID": net.idauto.common.util.UUIDs.randomUUIDString(), "givenName": "Bruce", "sn": "Wayne", "mail": "bwayne@example.com", "sAMAccountName": "bwayne"})
insertArrayItem(data, 3, {"employeeID": net.idauto.common.util.UUIDs.randomUUIDString(), "givenName": "John", "sn": "Wick", "mail": "jwick@example.com", "sAMAccountName": "jwick"})
insertArrayItem(data, 4, {"employeeID": net.idauto.common.util.UUIDs.randomUUIDString(), "givenName": "Lisa", "sn": "Simpson", "mail": "lsimpson@example.com", "sAMAccountName": "lsimpson"})
generated = generateReport(report, {"title": "The Report Title", "subtitle": "The Report Sub-Title"}, data, "pdf", "report.pdf")