# Reports Jasper Reports templates. Each report lives directly under `reports/` (flat — no subdirectory per report). ## Files per report | File | Required | Purpose | |------|----------|---------| | `.jrxml` | yes | Jasper report template | | `-params.xml` | no | Vitruvio form shown to the user before running the report (parameter input) | The `-params.xml` file follows the same XML/XSD form schema as panel forms — same components, same engine API, same JS rules. ## Version constraint Reports must be compatible with **JasperReports 6.21.2**. Use **Jaspersoft Studio 6.21.2** to design them — do not save with a newer version, as the generated XML will reference a newer schema and fail to compile on the server. ## vitruvio.json registration ```json "reports": [ { "key": "my-report", "name": "My Report", "queryKey": "my-query", "template": "reports/my-report.jrxml", "paramsForm": "reports/my-report-params.xml" } ] ``` - `queryKey` references a key from `queries/` — the report's main datasource. - `paramsForm` is optional; omit if the report takes no parameters.