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

How can I get the Workitem status/state history with timestamps??!!??

I want to be able to print out all the status changes with time stamps for a particular work item over the entire life of the work item.


I've patched together some code that gets all 'State handles'.(See the code and the results below)

But the thing is the results I'm getting are confusing.  I only want the history of changes to the 'Status' but I'm getting hundreds of records of state changes.

Can someone help me describe what's happening

Thanks in advance. 

**Code below
IItemManager itm = repository.itemManager(); 
 
List history = itm.fetchAllStateHandles((IAuditableHandle) workitem.getStateHandle(), monitor);
    
System.out.println("Historical Cases: " + history.size());

for(int i = history.size() -1; i >= 0; i--)
{
            IAuditableHandle audit = (IAuditableHandle) history.get(i);
       
            IWorkItem workItemPrevious = (IWorkItem) repository.itemManager().fetchCompleteState(audit,null);
       
            java.util.Date recordModifiedDate = workItemPrevious.modified();
    
            System.out.println("Record modification date: "+recordModifiedDate);
       
            System.out.println("Record history index: " + i);
       
            System.out.println("Record state: " + workItemPrevious.getState2());
}

**Code above

**Results below
Historical Cases: 24
Record modification date: 2016-11-03 13:15:55.368
Record history index: 23
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-07 11:22:23.399
Record history index: 22
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-07 11:45:17.254
Record history index: 21
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-13 10:59:40.571
Record history index: 20
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-07 10:20:09.179
Record history index: 19
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-12 12:40:49.932
Record history index: 18
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-12 15:00:43.669
Record history index: 17
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-13 11:02:22.155
Record history index: 16
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-13 11:01:13.309
Record history index: 15
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-13 11:13:48.806
Record history index: 14
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-11-29 08:06:25.364
Record history index: 13
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-11-02 11:26:23.938
Record history index: 12
Record state: com.ibm.team.workitem.common.model.IState:com.ibm.team.apt.story.verified
Record modification date: 2016-11-02 11:45:51.928
Record history index: 11
Record state: com.ibm.team.workitem.common.model.IState:com.ibm.team.apt.story.verified
Record modification date: 2016-12-15 10:18:14.363
Record history index: 10
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-15 10:16:57.417
Record history index: 9
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-07 10:19:46.44
Record history index: 8
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-07 10:21:57.642
Record history index: 7
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-07 10:25:47.977
Record history index: 6
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-11-29 08:06:01.403
Record history index: 5
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-11-30 12:50:40.55
Record history index: 4
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-07 13:48:32.403
Record history index: 3
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-11-02 12:28:21.215
Record history index: 2
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-11-02 13:11:58.679
Record history index: 1
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-15 10:20:01.567
Record history index: 0
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Historical Cases: 8
Record modification date: 2016-12-07 12:36:30.392
Record history index: 7
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s6
Record modification date: 2016-12-05 12:56:15.207
Record history index: 6
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s6
Record modification date: 2016-12-05 12:53:19.604
Record history index: 5
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-05 12:55:39.283
Record history index: 4
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-12-05 12:54:15.001
Record history index: 3
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-11-29 16:16:31.078
Record history index: 2
Record state: com.ibm.team.workitem.common.model.IState:gm.crWorkflow.state.s9
Record modification date: 2016-11-29 16:16:25.527
Record history index: 1
Record state: com.ibm.team.workitem.common.model.IState:com.ibm.team.apt.story.verified
Record modification date: 2016-12-12 15:09:24.285
Record history index: 0
**Results above

0 votes


Accepted answer

Permanent link
Abraham,

a work item state change is not equal to a change in the status attribute.
If another attribute of the work item changes (i.e. a new comment gets added) without the work item changing status still a new work item state (history entry) is created.

To get just the changes to status you will likely have to parse your list to only print a history entry
if workItemPrevious.getState2() is different from the previous #.getState2()

If this answer is helpful please mark it as accepted.

- Arne
Ralph Schoon selected this answer as the correct answer

0 votes

Comments

 Thanks for all the help but I've figured it out.  


This should be closed. 

But if anyone wants me to post the code I shall.

Another API that exposes the history is the reportable REST api: https://jazz.net/wiki/bin/view/Main/ReportsRESTAPI#Reportable_REST_API

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
× 2
× 1

Question asked: Jan 04 '17, 10:46 a.m.

Question was seen: 2,123 times

Last updated: Feb 21, 1:55 a.m.

Confirmation Cancel Confirm