I am writing a post function to create a subtask based on components
below is the code
def customFieldManager = ComponentAccessor.getCustomFieldManager()
SubTaskManager subTaskManager = ComponentAccessor.getSubTaskManager()
ApplicationUser user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
IssueFactory issueFactory = ComponentAccessor.getIssueFactory()
def constantManager = ComponentAccessor.getConstantsManager()
def issueManager = ComponentAccessor.getIssueManager()
def issue = issue
def parent_issue = issue.getParentObject()
def projectComponentManager = ComponentAccessor.getProjectComponentManager()
def componentFRIproduct = projectComponentManager.findByComponentName(issue.getProjectObject().getId(), "comp1")
MutableIssue newSubTask = issueFactory.getIssue()
newSubTask.setParentObject(parent_issue)
newSubTask.setProjectObject(parent_issue.getProjectObject())
newSubTask.setIssueTypeId(constantManager.getAllIssueTypeObjects().find{
it.getName() == "Analysis"
}.id)
newSubTask.setComponent(componentFRIproduct);
Map<String,Object> newIssueParams = ["issue" : newSubTask] as Map<String,Object>
issueManager.createIssueObject(user, newIssueParams)
subTaskManager.createSubTaskIssueLink(parent_issue, newSubTask, user)
but i am getting below error
java.lang.StackOverflowError
at com.onresolve.scriptrunner.runner.diag.DiagnosticsManagerImpl.toStringWithClassInfo(DiagnosticsManagerImpl.groovy:151)
at com.onresolve.scriptrunner.runner.diag.DiagnosticsManagerImpl$_convertToPayload_closure5$_closure8.doCall(DiagnosticsManagerImpl.groovy:175)
at com.onresolve.scriptrunner.runner.diag.DiagnosticsManagerImpl$_convertToPayload_closure5.doCall(DiagnosticsManagerImpl.groovy:174)
at com.onresolve.scriptrunner.runner.diag.DiagnosticsManagerImpl.convertToPayload(DiagnosticsManagerImpl.groovy:169)
at com.onresolve.scriptrunner.runner.diag.DiagnosticsManagerImpl$convertToPayload.callStatic(Unknown Source)
at com.onresolve.scriptrunner.runner.diag.DiagnosticsManagerImpl.recordSnapshot(DiagnosticsManagerImpl.groovy:143)
at com.onresolve.scriptrunner.runner.diag.DiagnosticsManager$recordSnapshot$0.call(Unknown Source)
at com.onresolve.scriptrunner.jira.workflow.ScriptWorkflowFunction.run(ScriptWorkflowFunction.groovy:202)
at com.onresolve.scriptrunner.jira.workflow.ScriptWorkflowFunction$run$1.callCurrent(Unknown Source)
at com.onresolve.scriptrunner.jira.workflow.ScriptWorkflowFunction.execute(ScriptWorkflowFunction.groovy:102)
at com.opensymphony.workflow.AbstractWorkflow.executeFunction(AbstractWorkflow.java:1014)
at com.opensymphony.workflow.AbstractWorkflow.transitionWorkflow(AbstractWorkflow.java:1407)
at com.opensymphony.workflow.AbstractWorkflow.initialize(AbstractWorkflow.java:606)
at com.atlassian.jira.workflow.OSWorkflowManager.createIssue(OSWorkflowManager.java:742)
at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:580)
at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssue(DefaultIssueManager.java:494)
at com.atlassian.jira.issue.managers.DefaultIssueManager.createIssueObject(DefaultIssueManager.java:599)
at com.atlassian.jira.issue.managers.RequestCachingIssueManager.createIssueObject(RequestCachingIssueManager.java:198)
at com.atlassian.jira.issue.IssueManager$createIssueObject$0.call(Unknown Source)
at Script396.run(Script396.groovy:57)
if i remove newSubTask.setComponent(componentFRIproduct);
then the code is working fine.but i am unable to set the components in the subtask
Can anybody help me here to fix above problem?
Community moderators have prevented the ability to post new answers.
Hi
From Jira API (https://docs.atlassian.com/software/jira/docs/api/7.6.1/ , mutableIssue inteface) method is:
setComponent(Collection<ProjectComponent> components)
So, probably you need not component, but collection with component(-s).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.