Update Resolved Date in REST API

Joe Zangara January 24, 2018

Is there a way to update the Resolved Date for a jira issue?

REST API or any other way?

I have two stories that were done in 2017 but because of the holidays were not closed until the new year.  Problem is those two stories are badly distorting some reports and I have been asked to set the resolved dates to a date in the past.

2 answers

1 accepted

1 vote
Answer accepted
Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 24, 2018

If you have Power Scripts add-on you could write a job with the following script

for (string iKey in selectIssues("your jql query to get issues")) {
    %iKey%.resolutionDate = "your date";
}

You can read more about Power Scripts here:

https://confluence.cprime.io/display/TR 

If you have ScriptRunner add-on you could write a scirpt with the following method:

MutableIssue.setResolutionDate(Timestamp resolutionDate) 

Joe Zangara January 24, 2018

Thank You Alexey,

I do have ScriptRunner, but only used it once while an Atlassian expert was helping to add a script to increment a value in a counter field.

I have probed a bit and think I have built the script I need to update my issue field.

 

The Timestamp value I want is  "12/22/2017 11:11:11:11" and it should be updated on an Issue with a certain Key (EM-412).  

Is this script correct to perform the desired action? 

===============================================

import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.resolution.Resolution

 

//retrieve a specific issue
IssueManager issueManager = ComponentManager.getInstance().getIssueManager()
MutableIssue myIssue = issueManager.getIssueObject("EM-412")


//update the resolution date
MutableIssue.setResolutionDate("12/22/2017 11:11:11" resolutionDate)

Joe Zangara January 24, 2018

I think I missed this line ...

import com.atlassian.jira.ComponentManager 
Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 24, 2018

I think your script would look like this

import com.atlassian.jira.component.ComponentAccessor
import java.sql.Timestamp
import com.atlassian.jira.issue.MutableIssue

MutableIssue issue = ComponentAccessor.getIssueManager().getIssueByCurrentKey("EM-412")
Timestamp time = new Timestamp(117, 11, 22,11, 11, 11, 0)
issue.setResolutionDate(time);
issue.store()
Joe Zangara January 24, 2018

Console is not liking the issue.store() line because it is deprecated.  It says to use the Object's Service or Manager to save values.

Alexey Matveev
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 24, 2018

it is a warning, not a error. Just run it.

Joe Zangara January 24, 2018

LOL,  As you can see, I am a little skittish because it is so new to me.

 

But that worked perfectly.  Thank you so much for the help!

Hubert Hölzl March 12, 2018

I just stumbled upon your answer, and I have the same problem.

I tried the ScripRunner, but something is wrong, I always get errors like "unable to resolve class import com.atlassian.jira.component.ComponentAccessor".

I'm on Jira Cloud and I know there are some limitations regarding ScriptRunner. Can someone help me out? Have the packages changed? Or is something like that not possible on Jira Cloud?

0 votes
Warren
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 24, 2018

Hi Joe

Generally, you can't do anything with the REST API that you can't do within Jira.

Within Jira, the Resolved Date is a readonly field, so I don't think you can change it in Jira or via the API.

If you have a server version of Jira, you could write some SQL or go directly into the database and change it, but I WOULDN'T RECOMMEND DOING THIS.

Suggest an answer

Log in or Sign up to answer