Get amount of time a WI has been in a given state? (javascript)
![]()
Daniel Flores Montanez (19●8●13)
| asked Jun 01 '16, 11:22 a.m.
edited Jun 12 '16, 5:49 p.m. by Geoffrey Clemm (30.1k●3●30●35)
I've looked at this other question and building up on it.=
https://jazz.net/forum/questions/180890/defect-age-by-state
Not sure if anyone has done this yet, but the problem that I'm encountering is that the current time doesn't refresh when the page gets refreshed.
I've used both getTime() and Date.now() and it is the same thing. The date only gets refreshed when you change the state of the WI instead of automatically every time you refresh the page.
You can see this when you run a simple customized attribute with the following javascript
dojo.provide("com.example.GetTurnAroundTime");
dojo.require("com.ibm.team.workitem.api.common.WorkItemAttributes"); dojo.require("dojo.date"); dojo.require("dojo.date.stamp"); (function() { dojo.declare("com.example.GetTurnAroundTime", null, { getValue: function(attribute, workItem, configuration) { try { var WorkItemAttributes= com.ibm.team.workitem.api.common.WorkItemAttributes; var currentDate= Date.now(); if(currentDate != null) return currentDate.toString(); } }
});
})();
The end goal is to calculate how long the WI has been under a certain state, but this is the first step in solving this problem.
Any help or input would be appreciated.
|
Accepted answer
![]()
Ralph Schoon (62.7k●3●36●43)
| answered Jun 06 '16, 4:35 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
It is very hard to reliably detect a state change in an attribute customization. It would be necessary to store a state in a hidden attribute and use that to determine the state actually changed. I think it would be better to use a custom work item save follow up action/participant, as that can reliably detect a state change. Here some examples how they wold look like: https://rsjazz.wordpress.com/?s=participant
Ralph Schoon selected this answer as the correct answer
|
Comments
I've noticed that the time gets updated every time you save, not necessarily with change of states.
I've just noticed the time changes every time you save the work item. It actually has nothing to do with the state change, but it still needs to be saved.