Structure & ScriptRunner Enhanced Search: Your Shortcut to Faster SDLC in Jira
August 11, 2025 edited
If you manage your software development lifecycle (SDLC) in Jira, you know it’s powerful but sometimes lacks certain features. Marketplace Apps fill those gaps, adding needed functionality.
I have a long list of Apps that enhance SDLC in Atlassian Cloud—see my SDLC series for the full list. Here, I’ll highlight two Apps that together help organize all your Jira data, like requirements, stories, and tests.
Here is how to use Structure for Jira and ScriptRunner Enhanced Search to save release managers or project managers time and stress. I use these apps to:
Get a good hierarchical view of my data. When managing requirements in Jira, there are strict rules that determine how each Jira work item has to be linked to other work items. For example, we may have a rule that requirement is linked by ‘traces down to’ with stories and sometimes with bugs, and that Stories are ‘tested by’ Tests. However, in scenarios where I have numerous requirements, Jira does not help visualize this hierarchy. Structure fills this gap.
Find and fix stray work items, like stories or bugs not linked to requirements, using ScriptRunner Enhanced Search. Put these in a separate Structure and easily link them into the correct hierarchy with the side-by-side view.
Watch the video for a demonstration of this example.
You can also see the configuration live on our SANDBOX.
Using Structure to visualize a tree in Jira, whatever links and relations you are interested in
Think of Structure as a way to organize all your Jira work items—requirements, stories, tests, and even defects—into a neat, customizable hierarchy. Instead of scrolling through endless lists, you get a visual, tree-like view of how everything connects. For example, you can see requirements at the top, linked to user stories beneath them, which in turn are linked to tests. This helps you, as a product manager or version manager, instantly spot what’s connected and what’s missing.
To define this Structure, you’ll use Structure “generators.” Generators are rules or configurations that automatically include and organize Jira issues in the Structure based on specific criteria, so you don’t have to manually add each item.
In my example, I am using three generators:
The generator that brings into structure the requirements
Then two generators that extend the structure to include stories traced down from each requirement, and tests linked from the stories.
Using ScriptRunner Enhanced Search work items with missing links
But what about finding issues that don’t meet your process rules, like stories or bugs that should be linked to requirements but aren’t? That’s where ScriptRunner’s enhanced search comes in. ScriptRunner lets you create custom filters using JQL (Jira Query Language) to find exactly what you need. For example, you can automatically pull up all stories and bugs in your current release that aren’t connected to requirements. This isn’t possible with standard Jira searches.
The step-by-step guide to the example in that video:
First, define a Jira filter to always select items in the current version. Having a single filter for 'current version' makes updates easy throughout your Jira. This filter uses standard JQL, like:
project = BFLOW AND fixVersion = 1.0.0 order by created DESC
Next, in ScriptRunner Enhanced Search, define a filter that:
Are part of our current filter AND
Are bugs or stories AND
Excludes those not traced down from requirements (this JQL is only available in Enhanced Search)
filter="BFLOW Current Version" AND type in (Bug,Story) AND !(issueFunction in linkedIssuesOf(" issuetype in ("Requirement")", "Traces down to"))
Ensure your Enhanced Query syncs regularly (ask your administrator to set this up). You can now access this Query through JQL by using the 'filter' keyword.
Using Structure in combination with ScriptRunner Enhanced Search to find and fix missing links
You can even configure Structure to highlight “orphans”—stories that aren’t linked to any requirements. If someone creates a story out of the blue, it pops up in this view, so nothing falls through the cracks. And fixing these issues is easy: just drag and drop an orphaned story to link it to the right requirement. Structure handles the background linking automatically.
To set this up, define a Structure that has the filter we defined (using ScriptRunner Enhanced Search) as its generator
Structure and ScriptRunner Enhanced JQL together give real-time Jira visibility and control. You can view and fix SDLC issues quickly, keeping everything organized without switching tools
0 comments