Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

setting component is giving java.lang.StackOverflowError

Jeetendra Dash May 21, 2019

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?

1 answer

0 votes
fjodors
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.
May 24, 2019

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

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, jira product discovery, jpd premium, product management, idea management, product discovery, jira premium, product planning, atlassian community, product development, roadmap planning, product prioritization, feature management

Introducing Jira Product Discovery Premium ✨

Jira Product Discovery Premium is now available! Get more visibility, control, and support to build products at scale.

Learn more
AUG Leaders

Atlassian Community Events