Hi,
I had a working script but after upgrade to JIRA 8.5. I have to replace component manager.
I did that but now i get Null pointer exception.
Below is the script. Any help is appreciated.
import com.opensymphony.workflow.WorkflowContext;
import com.atlassian.jira.workflow.WorkflowTransitionUtil;
import com.atlassian.jira.workflow.WorkflowTransitionUtilImpl;
import com.atlassian.jira.util.JiraUtils;
import com.atlassian.jira.issue.MutableIssue;
//import com.atlassian.jira.ComponentManager
import com.atlassian.jira.component.pico.ComponentManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.security.groups.GroupManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.customfields.manager.OptionsManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.crowd.embedded.api.User
import com.atlassian.crowd.embedded.api.Group
import com.atlassian.jira.util.SimpleErrorCollection
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.plugin.webfragment.model.JiraHelper;
import com.atlassian.jira.config.ResolutionManager
import org.apache.log4j.Logger
import static org.apache.log4j.Level.DEBUG
log.setLevel(org.apache.log4j.Level.DEBUG)
import com.atlassian.jira.bc.issue.IssueService
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.workflow.TransitionOptions
import com.atlassian.jira.issue.IssueInputParameters
GroupManager groupManager = ComponentAccessor.getComponent(GroupManager.class)
CustomFieldManager cfManager = ComponentAccessor.getCustomFieldManager()
CustomField cf = cfManager.getCustomFieldObject(11907);
Object customFieldValue = (Object) issue.getCustomFieldValue(cf)
Issue parent = issue.getParentObject();
def issueLinkManager = ComponentAccessor.getIssueLinkManager();
def issueManager = ComponentAccessor.getIssueManager();
def resolutionManager = ComponentAccessor.getComponent(ResolutionManager)
IssueService issueService = ComponentAccessor.getIssueService()
WorkflowTransitionUtil workflowTransitionUtil = (WorkflowTransitionUtil) ComponentAccessor.getComponent(WorkflowTransitionUtilImpl.class);
boolean check = false;
String currentUser = ((WorkflowContext) transientVars.get("context")).getCaller();
issueLinkManager.getOutwardLinks(issue.getId()).each
{
issueLink ->
MutableIssue linkIssue = issueLink.getDestinationObject() as MutableIssue
if(linkIssue.summary == ('REQ ' + customFieldValue + ' - ' + linkIssue.getParentObject().getSummary()))
{
if(linkIssue.resolution?.name == 'Fixed')
{
check = true;
}else
{
check = false;
}
}
}
issueLinkManager.getOutwardLinks(issue.getId()).each
{
issueLink ->
MutableIssue linkIssue = issueLink.getDestinationObject() as MutableIssue
if((linkIssue.issueType.name == 'Design & Code' || (linkIssue.issueType.name == 'Test Prep.')) && ((linkIssue.summary == 'D&C ' + customFieldValue + ' - ' + linkIssue.getParentObject().getSummary()) || (linkIssue.summary == 'TP ' + customFieldValue + ' - ' + linkIssue.getParentObject().getSummary())) && (linkIssue.status.name == 'Closed') && (linkIssue.resolution?.name == 'Fixed') && check )
{
workflowTransitionUtil.setIssue(linkIssue); <== ISSUE HERE
workflowTransitionUtil.setUserkey(currentUser);
workflowTransitionUtil.setAction(51);
workflowTransitionUtil.validate();
workflowTransitionUtil.progress();
}
}