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.
That is just what I was afraid of....thanks for your input.
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.
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()
What if the resolution changed from <something> to <something else>> We'd expect the Resolved date to stay same, but it seems it is changing...
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.MutableIssueimport com.atlassian.jira.ComponentManagerimport com.atlassian.jira.issue.IssueManagerimport java.sql.Timestampimport 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()
In case someone need this to work:
import com.atlassian.jira.component.ComponentAccessorimport com.atlassian.jira.issue.MutableIssueimport com.atlassian.jira.ComponentManagerimport com.atlassian.jira.issue.IssueManagerimport java.sql.Timestampdef 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
I tried the below instead of using the Timestap time. It also works.Date newdate = new Date("12/12/2019");myIssue.setResolutionDate(newdate.toTimestamp())
The issues might need a reindex after this to make searches work as expected?
It looks like you're new here. Sign in or register to get started.