how does the resolution date and time get set? We have conditions in the workflow to change the resolution status. This is also setting the resolution date and time. How can we prevent the date and time to set before the issue is marked fixed?
You can't. Resolution date/time is not a real field, it is derived directly from the history, and the derivation is "the last time the resolution changed from <null> to <something>".
It's not stored in the database, only the index, and it's updated/corrected on every change to the issue.
I am assuming that by "resolution status" you do mean just "resolution" - status doesn't have anything to do with this, it's separate from resolution and I just want to make sure it's clear.
To work-around this, you need to create a custom field and set it yourself when you need it to be set.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Sorry it wasn't what you wanted to hear, but "resolution date" as implemented, is a very useful measure for many (most?) Jira users. To change the behaviour is a total pain, so I wouldn't bother, but adding a different metric is easy-ish, and far more helpful.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am having the same issue. the thing is we are trying to use a third party time tracking app (Hubstaff) and they use the resolution date as an identifier for "active" or "inactive" issues, being active issues all with no resolution date.
Since we are using custom workflows and require resolution on certain transitions, the resolution field becomes mandatory from the creation of issues, so all our issues have a resolution date.
I strongly disagree that "resolution date as implementes is a very useful measure for many (most?) jira users", since it's not a field that can be updated and it's functioning seems completely independent from any action the user may take.
Is there a workaround for this?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I accept your answer but I can not explain how the csv importer do the magic at least in JIRA version 7.x . Actually if you map a column to Resolution and another one to Date Resolved you can even update an existing issue's resolution date. What's more there is no change in the issue's history at least on the UI.
Regards,
Istvan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Script Runner:
import com.atlassian.jira.issue.MutableIssue import com.atlassian.jira.ComponentManager import com.atlassian.jira.issue.IssueManager import java.sql.Timestamp ComponentManager componentManager = ComponentManager.getInstance() IssueManager issueManager = componentManager.getIssueManager() MutableIssue myIssue = issueManager.getIssueObject("SMS-1435") Timestamp time = new Timestamp(2013, 03, 25, 0, 44, 0, 0) myIssue.setResolutionDate(time) myIssue.store()
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In case someone need this to work:
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.IssueManager
import java.sql.Timestamp
def issueManager = ComponentAccessor.getIssueManager()
MutableIssue myIssue = issueManager.getIssueObject("JIRA-1")
Timestamp time = new Timestamp(119,7,5,13,41,0,0)
myIssue.setResolutionDate(time)
myIssue.store()
(119,7,5,13,41,0,0) = 2019/8/5 13:41
119 = 2019 because 2019-1900 = 119 (I don't know why. So for 1999 it will be 99)
7 = august ))))) I don't know why, but 0 is january
for day and time no magic needed
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I tried the below instead of using the Timestap time. It also works.
Date newdate = new Date("12/12/2019");
myIssue.setResolutionDate(newdate.toTimestamp())
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The issues might need a reindex after this to make searches work as expected?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
The resolveddate field has wrong date after using the above script. I used the timestamp (2017, 01, 29, 7, 0, 0, 0) for Jan 29, 2017, but after running the script, resolveddate changed to April 01, 2017. Can you verify below script and let me know if I'm using right syntax for timestamp?
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.IssueManager
import java.sql.Timestamp
import com.atlassian.jira.component.ComponentAccessor
ComponentManager componentManager = ComponentManager.getInstance()
IssueManager issueManager = ComponentAccessor.getIssueManager()
MutableIssue myIssue = issueManager.getIssueObject("SMS-9165")
Timestamp time = new Timestamp(2017, 01, 29, 7, 0, 0, 0)
myIssue.setResolutionDate(time)
myIssue.store()
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.