Digging out RTC custom attributes with RRDI

The canned data model in Rational Reporting for Development Intelligence (RRDI) pulls in most custom attributes added to Rational Team Concert, Rational Quality Manager or Rational Requirements Composer projects in the Operational Data Stores “Extension” query subjects. Here is an example documented in the CLM Infocenter that shows how to extract a custom attribute defined for a Test Case in Rational Quality Manager. While running the CLM 2011 reporting workshop I got asked to show how this can be applied to a custom attribute added to an RTC work item and a custom attribute added to an RRC requirement type. As the workshop is also an exploration of the tools RRDI provides report authors –  Query Studio and Report Studio – I showed two different ways of getting at these custom attributes, at the same time showing off how to use these two tools in concert (pun intended:-).

One easy way to get to those custom attributes in RTC work items is to start with Query Studio, setup a query that extracts the attributes of interest and then use the query in Report Studio to present it with bells and whistles if required. To begin I assume that my RTC “Defect” work item type has a custom string attribute with ID “com.ibm.team.apt.attribute.mystring“.

I’ve also created one or two sample Defects with some text in the custom attribute so I have something to show when creating reports:

I now launch the RRDI interface (aka “Cognos Connection”)from the RTC Reports menu on the web:

Then I start Query Studio from the Launch menu. I just want to create a simple list report that shows the values of the Id, Summary, Status and  “My String Attribute” attributes. First I insert the “Request ID“, “Name” and “Request Status” attributes of the Request query subject and sort by Request ID in descending order (not required, but sorting it this way lets me see my new work items at the top of the list) :



Next I navigate down to the “Request String Extension” query subject and insert the “Name” and “Value” attributes:

While we’re there, notice the other query subjects ending in “Extension”: there are subjects for most other custom attribute types, including Integer, Long and Large String. The CCM Data dictionary is a valuable resource that shows how custom attributes (and other attributes) are surfaced in RRDI.

Now that I have a simple list I open it in Report Studio for further editing and formatting.

First I’ll make a cosmetic edit and change the “Name2” column heading to “Custom Attribute Name“.

Now (the important bit) I need to filter out all custom attributes except my custom string attribute. Report Studio makes it a breeze to do this. Open the “Query” query for editing and drag the “Custom Attribute Name” data item to the “Detail Filters” pane to display the “Detail Filter Expression” dialog.

Next I place the cursor to the right of [Custom Attribute Name] and double-click the “=” operator (or you could just type it in:-) from the Functions tab.










Let’s say I haven’t the best short term  memory in the world and I’ve forgotten exactly how to spell the id of my custom attribute. Report Studio allows me to be forgetful: I just go to the Data Items tab in the expression editor, select “Custom Attribute Name” and click the “Select Value” icon to have Report Studio show all available custom attribute names and double-click “com.ibm.team.apt.attribute.mystring” to add it to the filter expression which now reads “[Custom Attribute Name]=’com.ibm.team.apt.attribute.mystring'”.

I click OK to add the new expression to the Detail Filter, run the report and presto I have a  (yes, very simple) report that shows my custom attribute.

Obviously both Query Studio and Report Studio can do way more than what I’ve shown here but the object of this exercise was to show one way of getting to custom attributes in RTC.

Next up: a slightly more complex example showing how to dig custom attributes out of RRC.

16 thoughts on “Digging out RTC custom attributes with RRDI”

  1. Hi Freddy,

    How can I see the customised workitems in RRDI. I mean which table needs to be selected. I tried Request type but it is showing only those work items which are inbuilt in RTC.

  2. Really useful and easy to follow, but if there are two or more attributes of the same type, this results in two entries for the work item. The report reader would likely expect one entry with two columns. Can this be achieved?

      1. Thanks for the link, but I don’t see how this would allow two columns – one for stringAttribute1, the other for stringAttribute2. If I drag and drop name+value twice, they display the same values on each line – not the cross product I need – so that when I filter the first name, the second name is the same.

      2. Hi Bill, NNA
        I see what you mean : I couldn’t work out how to get them all in a single row. The best I could to was Group By the ID column, which at least meant that you didn’t get the Work Item repeated for every custom attribute.
        Could you post the question on the Jazz.net forum please, if you haven’t already.

  3. Exactly my question too.. In the older tools like RequisitePro, attributes were separate columns in backend tables, so it wasn’t hard to pull them up into separate columns. Here, not only can you not display custom attributes in separate columns, when you have them all in one column, you can’t filter on more than one attribute and the basic requirement information is repeated as many times as your # of custom attributes (kind of like displaying parent-child records in CQ in a query where the record repeats for as many child links it has)..

  4. Hi, You will need to build a couple of Queries and join them to get your columns

    Lets say you have 2 custom attributes, AA and BB. You will need to build a Query where you filter on AA and get all the Data, You need a Data Item call it AAValue, Build a 2nd Query and Filter on BB

    Build a 3rd Query where you Join AA and BB on request id. The end result should be a Query where you have AAvalue, BBvalue, and Request ID.

    Hope this helps.

  5. Hi,

    I want to create a report that include a list of all workitems (with their time spent) included in more than one project area. For example, I have a project area named “Project1” with three workitems named “WI1”, “WI2”, “WI3”, and another project area named “Project2” with two workitems named “WI4”, “WI5”, “WI6”. Is it possible to create a report like this:

    WI1 8
    WI2 4
    WI3 8
    WI4 4
    WI5 4
    WI6 4

    Thanks a lot in advance.

    1. Hi Omar
      Yes you can. The Data Warehouse collects information from all project areas on the server. If you take a look at the Data Dictionary at http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/topic/com.ibm.jazz.reports.doc/topics/ccm.html and look in the Work Item section you will see that each Work Item has a “Request/Project ID” which gives you the key to the Project Area it belongs to. You can then use this key to get the Project Area name from the PROJECT DW Table

  6. Hello all:

    I have worked out how to get a proper report with multiple custom attributes suppressing any duplicate rows and pulling the matching literal name from the enumerations table. What is the best way to share this? Anyone want to cooperate on writing this up? ( I have done so for internal use on my customer’s wiki already.)


  7. Thanks for detailed description of how to print custom attribute. I am working on a report and we have a custom attribute which have three values(Quality Assurance, Development, Other.

    When i am following your steps , in value column it shows me value like “Filledby.literal.l4” but my actual value which i need is “Quality Assurance.

    Would really appreciate if you please let me know how to print my required value in this case.


    1. Hi Ramzan
      Apologies for the delayed response.
      I’m no longer focused on RTC so could you post on Jazz.net please, if you haven’t already?

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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