Memory and Scriptrunner

Tom Lister January 25, 2017

Hi

are there any known issues with using scriptrunner and memory usage?

We're getting outofmemory, and I know there could be lots of reasons, and just want to check in for scriptrunner/groovy issues. We have a lot of scripted fields and script workflow actions which will be invoked many times.

Are there any best practices for writing scripts?

 

1 answer

1 accepted

0 votes
Answer accepted
Vasiliy Zverev
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.
January 25, 2017

First of all check if you have varialbe declare into loops. For exmple

for(Issue subtask: issue.getSubTaskObjects()){
    CustomField field = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("field name")
}

It is better to change to:

CustomField field = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("field name");
for(Issue subtask: issue.getSubTaskObjects()){   
    
}
Vasiliy Zverev
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.
January 25, 2017

More - try not to use variable which used only once. For example:

IssueManager issueManager = ComponentAccessor.getIssueManager();
Issue issue = issueManager.getIssueObject()

It is better to use 

Issue issue = ComponentAccessor.getIssueManager().getIssueObject()
Tom Lister January 25, 2017

Thanks Vasily, I'll check through our code

Suggest an answer

Log in or Sign up to answer