Creating traceability documents with RPE and JRS

If you have ever had to generate a document that contains Requirements, the Test Cases that validate them and the related work items you’ve most likely ended up using (at least) 3 different data sources and you’ve had to use Java Script to switch between APIs.

Aside from a complex design, the performance of the report wasn’t that great as RPE had to crawl over all the data sources to fetch the required data.


Using JRS 6.0 to fetch the same data from the Data Warehouse/LQE makes creating such documents much simpler. You can select, filter and sort the data with a JRS report and then use that report in RPE . And as described in How to embed JRS Charts in RPE Documents you can also include the graphical representations of JRS reports.

Using the JRS query as a data source for RPE simplifies the template design and increases the runtime performance.

In many scenarios you will only need a single data source which has a schema that is simple and clean since it contains just the data you need. Add to this the fact that you can filter and sort the data in JRS and the conclusion is that you can focus on the document layout in RPE and leave the data aggregation and selection to JRS.


NOTE: not all the data is available through JRS since not all the data properties are stored in the DataWarehouse. Rich text data and images are among the missing properties, You can obtain them however by making individual calls through the Reportable REST APIs while still taking advantage from JRS providing the structure of the document.

Here is a template that produces the traceability document. I have kept it minimal to increase the dramatic effect.


By contrast an equivalent RPE template using the Reportable REST APIs directly would have spanned across a couple of pages. The snapshot below is the section of an older RPE template that traverses the requirement to test case link. More details are available here


And this gets better as you can add test case results, execution records, child work items and much more.

Author: Dragos Cojocari

Architect for Rational Publishing Engine

6 thoughts on “Creating traceability documents with RPE and JRS”

  1. Hello,

    I hope some one could help me check datasource null before getting values of attribute passed to template elements.
    step by step i did as bellow:
    – create a report get data from data Warehouse ( report contain null data)
    – create a template has a table contain 4 rows.2 cells for each row.
    – create datasource get from report.
    – each row i define title at firts cell, and get data of attribute from datasource.
    => after run template the output file is blank.
    i would like to check data source if the data is null i will pass 0 values for each cell above.
    Many thanks

  2. HI, I’m creating a complex RPE report using JRS report from DNG 6 (Lifecycle Query Engine scoped by a Configuration)
    It’ very faster than creating “classic” RPE report (Reportable REST APIs).

    The only problem is that I cannot get DNG text artifact Primary test.
    I see it in the reports in JRS, even if I export in Excel (and in the widget on DNG dashboard)
    but the same report generated with RPE gets an empty value (for results/result/Primary Text)
    The post states “Rich text data and images are among the missing properties, You can obtain them however by making individual calls through the Reportable REST APIs while still taking advantage from JRS providing the structure of the document”.
    It’s not clear for me how can I mix in RPE studio a call from a “DNG text artifact” and a “JRS result”. It is possible to have an example?

    Thanks and best Regards

    1. Hi Luca,
      You can use “Primary Text” in JRS, that will print the stripped version. To get the richText (along with images), you can try these steps:
      Export the report to RPE (Make sure that you have artifact URL in JRS report)
      Open .dta in RPE Studio
      Add “DNG Text” data source schema
      In the Cell that prints URL, insert a Container element. Within Container, add Data Source Configuration (DSC) element.
      For the DSC element:
      Set “Target data source” property to DNG Text
      Set “URI” property for the DSC to results/result/URL3
      You should be able to print the richText (dataSource/artifact/content/text/richTextBody/div) using a query on DNG Text.

      1. Hi Prased
        thank you for your answer
        actually I was not able to get a reportable artifact in this way, even using the usual JavaScript transformation


        Meantime I’ve noticed that If I add”&rpe=true” to the report URL at least the Primary text is exported, so for the moment I’m gonna try this way.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s