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, loom, loom for training, loom for teaching, video training, async learning, online education, screen recording, loom tutorials, loom use cases, atlassian learning, team training tools, instructional video, virtual training tools

🛗 Elevate Your Training and Enablement with Loom

Join us June 26, 11am PT for a webinar with Atlassian Champion Robert Hean & Loom’s Brittany Soinski. Hear tips, stories, and get your burning questions answered. Learn how Loom makes training and enablement easier. Don’t miss it!

Register today
AUG Leaders

Atlassian Community Events