Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,365,555
Community Members
 
Community Events
168
Community Groups

Previous Epic Link

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

1 vote
Answer accepted

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}")
}

Perfect Thanks ! :) @Mark Markov

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

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)
}

Thanks!!! Work perfectly!

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events