some questions about Reportable REST API
![]()
As a follow up of https://jazz.net/forum/questions/149119/is-it-possible-to-access-work-item-history-via-plain-java-api-or-oslc
My goal is to find out the status (change) of workitem at different (changed) dates (for each workitem satisfying a query)
I was able to play around for sometime with the Reportable REST API and was able to get the worktiem history
Regarding the status I see something like this in the history
<predecessor>_AZrXQcu5EeO08OhFHLECUA</predecessor>
How can I find out to which state this _AZrXQcu5EeO08OhFHLECUA belongs to?
Also I read that the Reportable REST API is different from regular OSLC for work items. This means that I will not be able to execute a predefined query via Reportable REST API right?
showing 5 of 6
show 1 more comments
|
Accepted answer
![]()
sorry, state and list of states (set of attributes at point in time) makes for confusing talk.
you want the text value of the status field of each workitem change in its history... this works https://localhost:9143/ccm/rpt/repository/workitem?fields=workitem/workItem/%28id|summary|itemId|itemHistory/%28stateId|predecessor|state/name%29%29 returns <workItem><id>7</id><summary>fribble</summary><itemId>_1EHXgEiCEeOJEeGE8YExBw</itemId><itemHistory> <stateId>_IMLykcxvEeOjLf0lpIM4lw</stateId> <predecessor>_z2k6oMoZEeOjy4RglL53dA</predecessor> <state><name>In Progress</name></state></itemHistory> <itemHistory> <stateId>_oVGrUnFgEeOw56cxmubVJQ</stateId> <predecessor>_-OQw0U4-EeOhD8kQDn6qiA</predecessor> <state><name>New</name></state> </itemHistory> <itemHistory> <stateId>_-OQw0U4-EeOhD8kQDn6qiA</stateId><predecessor>_9MSYgUiCEeORtsQwGYgl8A</predecessor> <state><name>New</name></state> </itemHistory> <itemHistory> <stateId>_9MSYgUiCEeORtsQwGYgl8A</stateId> <predecessor/> <state><name>New</name></state> </itemHistory> <itemHistory> <stateId>_z2k6oMoZEeOjy4RglL53dA</stateId> <predecessor>_oVGrUnFgEeOw56cxmubVJQ</predecessor> <state><name>New</name></state> </itemHistory> </workItem> Karthik Krishnan selected this answer as the correct answer
Comments Super! Thanks a lot. Worked.
I was using this
https://localhost:9443/ccm/rpt/repository/workitem?fields=workitem/workItem[id='1234']/(id|itemHistory/|state/)
and didn't get state values..
after looking at your example this worked
https://localhost:9443/ccm/rpt/repository/workitem?fields=workitem/workItem[id='1234']/(id|itemHistory/(|state/)|state/)
Many thanks.
Also this gave me all
https://localhost:9443/ccm/rpt/repository/workitem?fields=workitem/workItem[id='1234']/(id|itemHistory/(/)|state/)
|
Comments
one of the state entries should have that tag as its itemId field. (that is the UUID of the workitem state)
https://localhost:9143/ccm/rpt/repository/workitem?fields=workitem/workItem/%28id|summary|itemId%29
returns
<workitem Version="1.0.0" rel="next" href="https://localhost:9143/ccm/rpt/repository/workitem?fields=workitem%2FworkItem%2F%28id%7Csummary%7CitemId%29&id=_DYAO8MvMEeOjLf0lpIM4lw&size=100&pos=100"><workItem><id>1</id><summary>Define a new build</summary><itemId>_tLAlEEPTEeOc2Lc7Sj4jWg</itemId></workItem><workItem><id>2</id><summary>Share code with Jazz Source Control</summary><itemId>_tlJjYEPTEeOc2Lc7Sj4jWg</itemId></workItem><workItem><id>3</id><summary>Define sprints/iterations</summary><itemId>_toVaQEPTEeOc2Lc7Sj4jWg</itemId></workItem><workItem><id>4</id><summary>Define categories and releases for work items</summary><itemId>_tqZ20EPTEeOc2Lc7Sj4jWg</itemId></workItem>
I see the ItemID but what could I infer from this? How can I relate this to state name?
if you add itemId as as one of the fields returned for each state, this field should match the predecessor field on a later state.
using the itemId field should allow you to build the state order tree,
ok, its stateid and predecessor
this
https://localhost:9143/ccm/rpt/repository/workitem?fields=workitem/workItem/%28id|summary|itemId|itemHistory/%28stateId|predecessor%29%29
yields
this
<workItem><id>7</id><summary>fribble</summary><itemId>1EHXgEiCEeOJEeGE8YExBw</itemId><itemHistory><stateId>_z2k6oMoZEeOjy4RglL53dA</stateId><predecessor>_oVGrUnFgEeOw56cxmubVJQ</predecessor></itemHistory><itemHistory><stateId>_oVGrUnFgEeOw56cxmubVJQ</stateId><predecessor>-OQw0U4-EeOhD8kQDn6qiA</predecessor></itemHistory><itemHistory><stateId>_-OQw0U4-EeOhD8kQDn6qiA</stateId><predecessor>_9MSYgUiCEeORtsQwGYgl8A</predecessor></itemHistory><itemHistory><stateId>_9MSYgUiCEeORtsQwGYgl8A</stateId><predecessor/></itemHistory></workItem>
Thanks Sam. Yes I get the stateid and predecessor. What i need is after reading predecessor I need to report this with state name like New / in Progress etc.