Jazz Forum Welcome to the Jazz Community Forum Connect and collaborate with IBM Engineering experts and users

How to get Work Item found in attribute value?

Hi,


i want to read the value of found in attribute.

I have followed this link but still it return null value?

https://jazz.net/forum/questions/13501/how-to-get-the-found-in-attribute-for-a-work-item

Any Solution?

Regards,

Pugazh S

0 votes


Accepted answer

Permanent link
Without any code from you it is impossible to find out what you are doing wrong. I can get the Found in attribute in my code. It should look like:

        int id = new Integer(idString).intValue();

        IWorkItem workItem = workItemClient.findWorkItemById(id,
                IWorkItem.SMALL_PROFILE, null);
        IAttribute foundIn = workItemClient.findAttribute(projectArea,
                IWorkItem.FOUND_IN_PROPERTY, null);
        if (workItem.hasAttribute(foundIn)){
            IDeliverableHandle foundInValueHandle = (IDeliverableHandle) workItem.getValue(foundIn);
            IDeliverable foundInValue = (IDeliverable)teamRepository.itemManager().fetchCompleteItem(foundInValueHandle, IItemManager.REFRESH, null);
            System.out.println("Found In "+ foundInValue.getName() );
        }
        System.out.println("Accessed work item: " + workItem.getId() + ".");




pugazhenthi samidurai selected this answer as the correct answer

1 vote


4 other answers

Permanent link
 https://server_port/ccm/oslc/workitems/workitem_number.xml?oslc_cm.properties=rtc_cm:foundIn

Fill in your own server, port and workitem number.

1 vote

Comments

When I try https://server_port/ccm/oslc/workitems/workitem_number.xml?oslc_cm.properties=rtc_cm:foundIn I get page cannot be displayed.

When I try s://server_port/ccm/oslc/workitems/ or s://server_port/ccm/oslc/ I get The requested resource () is not available.

Do I need to do something to turn on OSLC services or should it be on by default?  I experimenting with the standard Windows 7 RTC download.


Permanent link
 Did you change server, port and workitem number to real names on your network?   For instance if your jazz server was named myserver and its IP 192.168.6.1.   Its port 9443.   A valid workitem was 502, then the following lines would work for you:

https://myserver:9443/ccm/oslc/workitems/502.xml?oslc_cm.properties=rtc_cm:foundIn

or

https://192.168.6.1:9443/ccm/oslc/workitems/502.xml?oslc_cm.properties=rtc_cm:foundIn

0 votes

Comments

 Also if you just put, 



You will get all the properties.

That works!  Thanks.  I'm new to OSLC so I didn't realize you could post the work item number.xml to get it to work.

The first statement didn't list the actual foundIn value.  But the 502.xml displaying all properties did.  I need to figure out how to list the value of a property.

I've spent a fair amount of time using the Reportable REST API to extract work item information I need for another application.  (For example, list certain fields - including some parent and child values - for all work items in a particular project, state, and planned for.) 

How would using OSLC for that compare to using the Reportable REST API?  Is there a clear advantage to one over the other?

Here is what I am doing with REST:

   (I'll list it in the next comment:)

<server>:<port>/ ccm/rpt/repository/workitem?fields=workitem/workItem[projectArea/name='MiCSES 2' and (state/id=53 or state/id=2 or state/id=51 or state/id=5)]/(children[type/id='source_code_ci_-_micses']/(id|stringExtensions[key='MICSES_Source_File_CI_Name']/value|bigDecimalExtensions[key='MICSES_Source_file_CI_Version_dec']/value|parent/(id|state/name|target/name)))


Permanent link
 Sorry I haven't done alot of REST API.   For some local scripting I needed, I used python, did the authentication, then fetched the XML.  Using python libs for XML I was able to retrieve any field I needed.  

0 votes


Permanent link
Hi Ralph Schoon

I get the error while running your code:

 com.sun.proxy.$Proxy26 cannot be cast to com.ibm.team.workitem.api.common.IDeliverable

Could you help?

0 votes

Comments
  1. Don't post new questions on questions that are already answered and accepted
  2. Create a new question
  3. Create a question, that has actually data that others could work on

 You obviously try to cast something to something, that can't be casted that way. 

Debug your code and use the instanceof operation to ensure you can indeed cast the object to what you want to cast it to.

Hi Ralph

I could identify the error. Actually I was not able to use IDeliverable, instead I used  Deliverable Class (without "I") and I could retrieve foundIn attribute. Check my code:

IAttribute attribute = workItemClient.findAttribute(projectAreaHandle,identifier, iProgressMonitor);
Object value = workItem.getValue(attribute);

if (value instanceof IDeliverableHandle){
    IDeliverableHandle foundInValueHandle = (IDeliverableHandle) workItem.getValue(attribute);
    Deliverable foundInValue = (Deliverable)teamRepository.itemManager().fetchCompleteItem(foundInValueHandle, IItemManager.REFRESH, null);
    System.ou.println(foundInValue.getName());
}

Thank you!

Looks good.

Your answer

Register or log in to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.

Search context
Follow this question

By Email: 

Once you sign in you will be able to subscribe for any updates here.

By RSS:

Answers
Answers and Comments
Question details
× 12,020

Question asked: Aug 10 '12, 7:11 a.m.

Question was seen: 7,306 times

Last updated: Jun 22 '15, 8:01 a.m.

Confirmation Cancel Confirm