Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Previous Epic Link

Dan27 August 7, 2018

Hello,

There is an option to get the previous 'Epic Link' of an issue? (by post function).

I need the Epic Link that was the parent of an issue (for example-story) before it was changed.

Maybe there is an option to get the 'Epic Link' history list of a specific issue ?

 

Thanks , Daniel

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted
Mark Markov
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.
August 7, 2018

Hello @Dan27

You can get it via changeHistoryManager like this

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue

// Uncomment this to test is script console and place correct issue key
//MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject("TEST-1")

def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()
def history = changeHistoryManager.getChangeItemsForField(issue, "Epic Link")
if (history.size()>1){
def prevousEpicLink = history.last().fromString
log.error("prevous epic: ${prevousEpicLink}")
}
Dan27 August 8, 2018

Perfect Thanks ! :) @Mark Markov

No, How can I set this prevousEpicLink to the Epic Link field ?

Mark Markov
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.
August 8, 2018
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.MutableIssue

// Uncomment this to test is script console and place correct issue key
//MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject("TEST-1")

def changeHistoryManager = ComponentAccessor.getChangeHistoryManager()
def history = changeHistoryManager.getChangeItemsForField(issue, "Epic Link")
def customField = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Epic Link")
def issueManager = ComponentAccessor.getIssueManager()
if (history.size()>1){
def prevousEpicLink = history.last().fromString
log.error("prevous epic: ${prevousEpicLink}")
def epicIssue = issueManager.getIssueObject(prevousEpicLink)
issue.setCustomFieldValue(customField, epicIssue)
issueManager.updateIssue(null, issue, EventDispatchOption.DO_NOT_DISPATCH, false)
}
Dan27 August 8, 2018

Thanks!!! Work perfectly!

TAGS
AUG Leaders

Atlassian Community Events