Jira Conditional Fields in 2026: Native vs ScriptRunner vs No-Code Apps
You need conditional fields in Jira — fields that show, hide, or become required based on context. The question is not whether to implement them. The question is which approach fits your team's constraints: native Jira configuration, ScriptRunner Behaviours, or a no-code app like Dynamic Screen Rules.
This guide walks through the decision framework — when each approach makes sense, hidden costs beyond the sticker price, and a 7-day validation plan to test before committing.
Native Jira
Built-in configuration
ScriptRunner
Groovy behaviours
Custom Scripts
Forge/Connect app
No-Code App
Point-and-click rules
What You Will Learn
A decision framework for choosing between native Jira, ScriptRunner, and no-code apps. Real-world migration scenarios, hidden costs analysis, and a week-by-week validation plan to test your chosen approach before full rollout.
When native Jira is enough (and when it is not)
Native Jira gives you static field configuration. A field is either always visible or always hidden. Always required or always optional. No conditions, no exceptions.
Native works when: Every issue of a given type needs the exact same fields, workflows are simple, and field requirements never change mid-flow.
Native breaks when: You need "Root Cause required only for Critical priority", "Customer Impact fields visible only when External = Yes", or different validation rules on different workflow transitions.
Quick decision guide
Not sure which approach fits? Use this decision tree:
You have fewer than 5 custom fields
→ Stick with Native Jira
No cross-field dependencies? No conditional logic needed? Native configuration is enough.
You have ScriptRunner + Groovy experts
→ Stay with ScriptRunner Behaviours
5+ existing Behaviours and dedicated script maintainers? Keep using what works.
You have Jira admins, no developers
→ Use a No-Code App
Need conditional fields without coding? No-code apps give you speed + simplicity.
You have a dedicated Jira dev team
→ Build Custom Scripts
Unique requirements that no app can handle? Custom Forge/Connect app is your path.
At-a-glance comparison
Here is how the four approaches compare on the factors that matter most to Jira admins and decision-makers.
| Approach | Setup Time | Maintenance | Flexibility | Risk | Cost | Best For |
|---|---|---|---|---|---|---|
| Native Jira | Minutes | Low | None | Low | Free | Static field requirements with no cross-field logic |
| ScriptRunner | Hours-Days | High | Unlimited | Medium | $1.2k-4.8k/yr | Teams with Groovy expertise and complex custom logic |
| Custom Scripts | Days-Weeks | Very High | Unlimited | High | Dev salary | Enterprises with dedicated Jira dev teams and unique requirements |
| No-Code App | Minutes | Low | High | Low | $10-200/mo | Teams without coding resources who need conditional logic fast |
Native Jira
ScriptRunner
Custom Scripts
No-Code App
The hidden cost nobody talks about
The sticker price is the easy part. The real cost is time to change. When a business requirement shifts, how long does it take to update your conditional logic?
Real example — changing one rule:
ScriptRunner: Edit Groovy code → test locally → deploy to Jira → clear cache → verify in production → update documentation = 2-4 hours
No-Code App: Edit rule in UI → click save → test in one issue → done = 3 minutes
If you make 5 rule changes per month, no-code saves ~10 hours monthly. At $50/hour admin cost, that is $6,000/year in avoided labor — far more than any app license.
Need more details? Read the scenarios below to understand which approach fits your specific situation.
Decision framework: which approach fits your constraints
The right approach depends on five factors: technical capability, maintenance capacity, governance requirements, implementation timeline, and risk tolerance.
Scenario A: You already have ScriptRunner
Scenario A: TL;DR
You have: ScriptRunner installed, some existing Behaviours
Stay if: 5+ Behaviours in production, Groovy experts on team, complex logic needs
Migrate if: Maintenance bottleneck, performance issues, knowledge loss risk
If ScriptRunner is already installed and your team has Groovy expertise, Behaviours might be the path of least resistance — but not always.
Use ScriptRunner Behaviours if:
- You already have 5+ Behaviours in production and the team knows Groovy well
- Your conditional logic requires complex calculations or external API calls
- You need to reuse existing utility scripts across Behaviours
- You have dedicated script maintainers who can debug Groovy when things break
Use a no-code app instead if:
- Only 1-2 people on the team can write Groovy, and they are overloaded
- You are hitting performance issues (slow form load, timeouts on large screens)
- Most of your use cases are simple: show/hide, required, limit options
- You want project admins to create rules without involving developers
Hidden costs with ScriptRunner:
- Groovy expertise required for changes (not clickops)
- Script debugging requires local dev setup and Jira restarts
- Performance degrades on forms with 15+ fields and complex validation
- Vendor lock-in — scripts are not portable to other apps or native Jira
Migration path from Behaviours to no-code:
- Pick one project with 3-5 simple Behaviours (show/hide, required fields)
- Recreate those Behaviours as no-code rules in a test project
- Compare performance, ease of change, and team feedback
- If successful, migrate one project per week until all simple cases are covered
- Keep ScriptRunner only for truly complex logic that no app can handle
Scenario B: You are starting from scratch
Scenario B: TL;DR
You have: Clean slate, no existing automation
Start with no-code if: Team is Jira admins (not developers)
Use scripts only if: Full-time Jira devs, unique requirements, regulatory constraints
No existing scripting infrastructure. No legacy Behaviours to maintain. Clean slate.
Start with no-code
If your team is primarily Jira admins (not developers), start with a no-code app. Setup is faster, changes are visible immediately, and there is no code to maintain.
Skip straight to scripts only if
You have full-time developers dedicated to Jira automation, complex custom logic that no app supports, or regulatory requirements that prohibit third-party apps.
No-code advantages when starting fresh:
- Rules go live immediately (no script deploy, no cache clear, no restart)
- Changes are auditable in the app UI (who changed what, when)
- Testing is visual — create an issue and see the result
- Lower barrier to entry for project admins (no coding required)
- Full documentation and use-case examples guide implementation
Scenario C: You hit limits with native Jira
Scenario C: TL;DR
You have: Multiple workarounds (duplicate issue types, screens, validators)
Symptom: Changes require updating 5+ places, users pick wrong issue type
Solution: Consolidate with conditional rules — compare consolidation cost vs duplicate maintenance
Your team tried to solve conditional field problems with native Jira. You created separate issue types. You added workflow validators. You duplicated screens. It is not sustainable.
Map current workarounds
List every place where you duplicated configuration to work around native Jira limits. Separate issue types for the same logical type. Duplicate screens. Validator hacks.
Calculate maintenance cost
How many hours per month does your team spend updating duplicate configurations? How often do changes break because one screen was updated but the duplicate was forgotten?
Evaluate migration effort
Compare the cost of consolidating workarounds into conditional rules vs the cost of continuing to maintain duplicates. Include training time and testing effort.
When native workarounds cost more than a solution:
- You have 3+ issue types that are logically the same but exist only to show different fields
- Changes to field configuration require updating 5+ places
- Users regularly choose the wrong issue type because the differences are invisible until after creation
7-day validation plan (test before committing)
Do not commit to an approach based on a vendor demo or a blog post. Test it with your actual Jira data, your actual users, and your actual workflows.
Day 1-2: Define success criteria
What does "working" look like? Write down 3-5 specific scenarios you need to solve. Example: "Root Cause required only for P1 Bugs" or "Customer fields visible only when External = Yes". These become your test cases.
Day 3-4: Build proof-of-concept in test project
Create a test project. Implement your 3-5 scenarios with your chosen approach. Do not touch production yet. Invite 2-3 real users to test issue creation and see if the behavior matches expectations.
Day 5: Measure change effort
Pick one scenario and change the requirement. Example: change "Root Cause required for P1" to "Root Cause required for P1 and P2". How long does it take? How many steps? Could a project admin do it without developer help?
Day 6-7: Evaluate and decide
Compare results against criteria. Did it solve all 5 scenarios? How long did setup take? Could the team maintain it? If yes — proceed to pilot in one real project. If no — try a different approach or refine requirements.
Red flags during validation:
- Setup took longer than expected and you are still debugging
- Users report confusion or unexpected behavior on simple test cases
- Changing one rule requires touching 3+ places (suggests fragile architecture)
- Only one person on the team understands how it works
Green flags during validation:
- All test scenarios work as expected on first try
- Users report forms feel cleaner and easier to fill
- Changes take minutes, not hours
- Multiple team members can create and edit rules confidently
Our recommendation for most teams
Still unsure after reading all scenarios? Here is what works for 80% of teams:
Start with a hybrid approach:
-
Use no-code (Dynamic Screen Rules) for 80% of use cases — show/hide fields, conditional required, limit dropdown options, transition validation. These are the bread-and-butter patterns that every team needs. No-code gives you speed (minutes to deploy) without maintenance overhead.
-
Keep ScriptRunner for the complex 20% — external API calls, complex calculations, or logic that truly requires programmatic control. If you already have ScriptRunner, keep it for these edge cases.
-
Skip custom scripts unless you have regulatory constraints — building a custom Forge/Connect app only makes sense if you have dedicated Jira developers and requirements that no marketplace app can meet (e.g., air-gapped deployments, compliance restrictions on third-party apps).
Why this works:
- You get fast iteration on common patterns (no-code)
- You retain power and flexibility for complex cases (scripts)
- You avoid vendor lock-in — if one tool stops working, the other handles fallback
- You minimize maintenance burden — 80% of your rules require zero code maintenance
Next step: Install Dynamic Screen Rules in a test project. Validate your top 5 scenarios in under 30 minutes. If it solves them, roll out to one production project. Keep ScriptRunner for anything it cannot handle.
Common questions
Do I need Jira admin privileges to use a no-code app for conditional fields?
Most no-code apps (including Dynamic Screen Rules) require project admin or Jira admin permissions to create and edit rules. This is the same permission level required to edit screens or workflows natively. Regular users see the results (conditional fields) but cannot configure them.
What happens if the app vendor discontinues the product?
If a no-code app is discontinued, your fields revert to their native Jira behavior — the configuration defined in screen schemes and field config. You lose the conditional logic, but you do not lose data. This is why it is critical to choose apps with strong marketplace presence, active support, and regular updates.
Can I mix approaches in the same project?
Yes, but it creates maintenance complexity. For example, you can use native required fields for universal requirements, ScriptRunner for one complex calculation, and a no-code app for show/hide rules. The risk is that interactions between approaches are hard to debug. Best practice: pick one approach per category (e.g., one tool for all conditional visibility, another for all automations).
How do I convince stakeholders to pay for an app when ScriptRunner is already installed?
Frame it as cost per change, not cost per year. Calculate: how many hours per month does your team spend maintaining scripts? Multiply by hourly rate. If a no-code app saves 10 hours/month at $50/hour, that is $6000/year in avoided labor cost — far more than the app license. Show the math.
Test no-code conditional fields in your Jira instance
Install Dynamic Screen Rules in a test project. Validate your 5 scenarios in under 30 minutes. No credit card, no commitment — just proof that it works.
Start free trial