I am uploading this script in the post function of epic(on the create transition....the very first transition in the workflow)......and we are using plugin "exocet" which directly provides button "create epic" on feature issue to create epic.....Epic is not able to find the associated parent......why?
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.workflow.WorkflowTransitionUtil
import com.atlassian.jira.util.JiraUtils
import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.search.SearchProvider
import com.atlassian.jira.jql.parser.JqlQueryParser
import com.atlassian.jira.web.bean.PagerFilter
import com.atlassian.jira.issue.Issue
import org.apache.log4j.Category
def Category log = Category.getInstance("com.PostFunction.PostFunction_MoveFeatureToEpicsCreationWhenepicStories creation.groovy")
log.setLevel(org.apache.log4j.Level.INFO)IssueManager issueManager = ComponentAccessor.getIssueManager()
def userManager=ComponentAccessor.getUserManager()
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser();
MutableIssue Featureissue
//MutableIssue issue = issueManager.getIssueObject("DE-49331")
def count = 0
def IssueLinkManager = ComponentAccessor.getIssueLinkManager()
IssueLinkManager.getInwardLinks(issue.getId()).each{ issueLink ->
if(issueLink.issueLinkType.name =="Feature-Epic Link")
{
Featureissue = issueLink.getSourceObject() as MutableIssue
count++
}
}
if((count == 1) && (Featureissue.issueType.getName() == "Feature"))
{
if (Featureissue.getProjectObject()?.getProjectCategory()?.getName()=='PSM')
{
def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser)
def searchProvider = ComponentAccessor.getComponent(SearchProvider)
def query = jqlQueryParser.parseQuery('issuekey = "'+ Featureissue.key +'" AND status was in ("Epics Creation")')
def results = searchProvider.search(query, currentUser, PagerFilter.getUnlimitedFilter())
if(results.total == 0)
{
WorkflowTransitionUtil workflowTransitionUtil = (WorkflowTransitionUtil) JiraUtils.loadComponent(WorkflowTransitionUtilImpl.class);
workflowTransitionUtil.setIssue(Featureissue as MutableIssue);
workflowTransitionUtil.setUserkey(currentUser.key);
workflowTransitionUtil.setAction(91);
workflowTransitionUtil.validate();
log.error("Validated")
workflowTransitionUtil.progress();
log.error("Success")
}
}
}