Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
0 / 0 points
badges earned

Your Points Tracker
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

High performance way to get all issue fields in Groovy (Scriptrunner Rest Endpoint) Edited

We are an enterprise with a JIRA server (datacenter) instance. We are trying to use Scriptrunner's Rest Endpoint to do some performant queries (JQL) in Groovy rather than via the JIRA Rest API.

One of the things we need to do is to get various (typically many) fields of issues and its subtasks/issuelinks based on an initial query (JQL). Right now, we do the initial search (JQL query) to get a list of issues and then loop through the returned collection and then loop through the list of fields we care about. Attached code snippet below.


// psuedocode

SearchService.ParseResult parseResult = searchService.parseQuery(user, jqlSearch)

if (parseResult.isValid()) {
searchResult =, parseResult.getQuery(), PagerFilter.getUnlimitedFilter())

searchResult.issues.each { it ->
Issue issue = issueManager.getIssueObject(
def map = getIssueInfo(issue, fields)

// getIssueInfo method

def getIssueInfo(issue, fields) {
map = [:]
fields.each { fld ->
// Read get"fld" as getSummary, getAssignee etc.
map["fields"].put(fld, issue.get"fld"())
return map

We are seeing that the actual search is quite fast (200ms) but looping through each field takes about 10-15ms (sometimes more). If this time is going to be linear, as we process a larger list of issues, the time taken to get the fields goes up. Is there a better (quicker) way of doing this. I couldn't find a single method in the Groovy/Java API which would let me get a bunch of field values from an issue.

Appreciate any help!

1 answer

Hi @unmanifest the best possible way to achieve that is waht you have done, there is no way to get multiple values in one call, at least not with java api. You could try with the rest api, but is highly likely that response to be slower.

With the rest api you can get all the info for one single issue.

Check this out


Edit: Maybe you can map it with the issue.getProperties() and get all the info, but is a pain to do all the research to get all you want.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Bitbucket Pipelines

Bitbucket Pipelines Runners is now in open beta

We are excited to announce the open beta program for self-hosted runners. Bitbucket Pipelines Runners is available to everyone. Please try it and let us know your feedback. If you have any issue...

369 views 8 7
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you