RTC reports - How to Configure metadata in Rational Publishing Engine for document-style reports?
I need to configure the Data Source URL of a RPE report base on the user input (selected WorkItem).
The IBM knowledge center provide information on how to Configure metadata in Rational Publishing Engine for document-style reports:
http://www-01.ibm.com/support/knowledgecenter/SSYMRC_5.0.0/com.ibm.rational.rrdg.usage.doc/topics/t_metadata_configuring.html
I tried to use the provided information without success.
I also adapted the information provided in this RQM article:
Compose and execute Rational Publishing Engine reports against Rational Quality Manager
(https://jazz.net/library/article/1137)
I current set the Data Source meta data as follow:
Identifier: workitem/workItem/id
Display: workitem/workItem/id + ": " + workitem/workItem/summary
Request URL: ${public}/rpt/repository/workitem?fields=workitem/workItem[projectArea/itemId=${projectAreaUUID}]/(id|summary)
That is working, to get have the proper user interface in the RTC report query page, but the Data Source is not properly define and the report fail.
I get : uri must be absolute and not opaque.
Is there a detailed article like the one describing the same concept for RQM?
is there any sample RPE template that is already configured to run as a RTC report?
Regards
3 answers
Base on provided information I created an example.
This information supplement the following topic:
Configuring metadata in Rational Publishing Engine for document-style reports
From the template Outline panel, inserted a new Data Source Schema.
Set the Type to REST, and the Schema to
https://<server>:<port>/<ccmContextRoot>/rpt/repository/projectArea?metadata=schema
On the newly created Data Source Schema, right click and Edit Configuration Metadata ...
Set the Data Connection element as follow:
- Type: anyuri
- Identifier: workitem/workItem/reportableUrl
- Display: workitem/workItem/id + ": " + workitem/workItem/summary
- Request URL: ${public}/rpt/repository/workitem?fields=workitem/workItem[projectArea/itemId=${projectAreaUUID}]/(id|summary|reportableUrl)
When the template has been created and tested from the RPE Studio, it can be imported in RTC as described in the following section: Importing custom document-style report templates for change and configuration or quality management
Regards
What exactly are you expecting your data source URL to look like? Subramanya is correct that the value from the "Identifier" field is used as the data source URL. So it's not correct to use workitem/workItem/id, since this will just be a work item ID, instead of a valid data source URL. The @href would also not be correct, because that would return a value like "<server>/ccm/resource/itemName/com.ibm.team.workitem.WorkItem/1" - which also can't be used as a data source URL. Instead,if you're using RTC 4.0.3 or newer, use workitem/workItem/reportableUrl - that will return a value like "<server>/ccm/rpt/repository/workitem/workItem/id/1", which you can use as a data source.
Just to recap how the configuration metadata works:
-if you supply just a Request URL in the configuration metadata for a data source, then this URL will be used for the data source (with any variables like ${public} or ${projectAreaUUID} substituted at runtime).
-if you supply an identifier and display field, then you'll be prompted to select from a list of choices. The choices list is populated by fetching the data from the Request URL, and then pulling out (identifier, value) pairs according to the Identifier and Display values in the configuration metadata. When you select one of the choices, the "identifier" of that choice will be used for the data source (so, you must define an identifier such that it would be a valid data source URL).
Unfortunately, we don't have any sample RPE reports for RTC.
1. Set 'Identifier' as workitem/workItem/@href
2. Do not set 'Identifier' field so that resolved value of 'Request URL' will fill in the data source input field when executing the report?
Comments
Using 1. Set 'Identifier' as workitem/workItem/@href
I get
Data source WorkItemId using URL https://<server>:<port>/jazz/resource/itemName/com.ibm.team.workitem.WorkItem/107?fields=workitem/workItem/(summary%7Cid)
Error in engine java.net.UnknownHostException: www.w3.org
The URL is not the correct REST API format (rpt/repository)
Using 2. Do not set 'Identifier' field so that resolved value of 'Request URL' will fill in the data source input field when executing the report?
I get
Cannot access non-friend URI https://.../jazz/rpt/repository/workitem?fields=workitem/workItem[projectArea/itemId=_IYY88OtUEd-NI4mPuqr4bA]/(id|summary|href)