Pre-filling Values
Pre-filling values automates data entry by setting field values automatically based on context. Instead of users manually filling repetitive fields, rules populate them intelligently—reducing errors and saving time.
Formify enables smart default values that adapt to issue type, priority, user selections, and more.
Screen Limitation: The "Set Field Value" action is only supported on Global Issue Create and Issue Transition screens. Formify doesn't offer it on Issue View. Due Date can be set on Global Issue Create only: in a transition dialog the rule doesn't change it.
Why Pre-filling Matters
Problem: Users waste time filling the same fields repeatedly. Manual entry leads to typos, inconsistencies, and missed fields.
Solution: Automatically set field values based on context. When users open a form or make selections, relevant fields populate instantly.
Benefits:
- Faster issue creation - pre-filled fields save clicks and typing
- Consistent data - automated values eliminate typos and variations
- Intelligent defaults - values adapt to context (issue type, priority, user role)
- Reduced cognitive load - users focus on unique information, not repetitive data
Static Pre-fill: Set Fixed Values
The simplest pre-fill pattern sets a fixed value when conditions are met.
Example 1: Set Label for Backend Bugs
Requirement: When creating Backend Bug issues, automatically add the label "backend"
Rule Configuration:
- Screen: Global Issue Create
- Target Field: Labels
- Scope: Backend Bug
- Condition: none (the scope already limits the rule to Backend Bug)
- Action: Set Field Value = "backend"
User Experience:
- User selects Issue Type = Backend Bug
- Labels field auto-populates with "backend" instantly
- User can change it if needed (field is editable unless locked), and the rule doesn't overwrite the change
- Saves manual selection every time
Dynamic Pre-fill with Smart Values
Smart Values make pre-filled values intelligent and context-aware.
Example 2: Set Due Date to Next Week
Requirement: New tasks should default to due on Monday next week
Rule Configuration:
- Screen: Global Issue Create
- Target Field: Due Date
- Scope: Task
- Action: Set Field Value =
{{addWeeks(startOfWeek(), 1)}}
User Experience:
- User creates Task issue
- Due Date auto-fills with next week's Monday
- Date calculates dynamically (always the Monday of next week, regardless of today's date)
- User sees smart default that updates automatically
Smart Values enable dynamic defaults. Instead of hardcoding "2026-03-15", use functions like {{today().plusBusinessDays(5)}} or {{endOfMonth()}} that calculate values automatically. See Using Smart Values for all available functions.
User-Based Pre-filling
Automatically assign or populate fields based on who is creating the issue.
Example 3: Auto-Assign Critical Issues to Team Lead
Requirement: Critical priority issues should be assigned to team lead automatically
Rule Configuration:
- Screen: Global Issue Create
- Target Field: Assignee
- Scope: Bug, Task, Story
- Condition: Priority = Critical
- Action: Set Field Value = (select team lead user)
User Experience:
- User creates issue and sets Priority = Critical
- Assignee field auto-populates with team lead
- Critical issues get immediate attention from leadership
- User can reassign if needed
Example 4: Set Reporter to Current User
Requirement: Auto-fill Reporter field with current user creating the issue
Rule Configuration:
- Screen: Global Issue Create
- Target Field: Reporter
- Scope: All issue types
- Action: Set Field Value =
{{currentUser()}}
User Experience:
- User opens create dialog
- Reporter field pre-fills with their name automatically
- No manual selection needed
- Works for any user (dynamic based on who's creating)
Date-Based Pre-filling
Use Smart Values to set intelligent date defaults.
Example 5: Set Review Date to 3 Business Days from Today
Requirement: New stories should be reviewed 3 business days after creation
Rule Configuration:
- Screen: Global Issue Create
- Target Field: Review Date
- Scope: Story
- Action: Set Field Value =
{{today().plusBusinessDays(3)}}
User Experience:
- User creates Story issue
- Review Date auto-fills with date 3 business days ahead
- Skips weekends automatically
- Consistent review timeline without manual calculation
Example 6: Set Start Date to Beginning of Week
Requirement: Epics should default to starting at the beginning of the current week
Rule Configuration:
- Screen: Global Issue Create
- Target Field: Start Date
- Scope: Epic
- Action: Set Field Value =
{{startOfWeek()}}
User Experience:
- User creates Epic
- Start Date auto-fills with this week's Monday
- Aligns planning with weekly cycles
- Date updates based on when issue is created
Multi-Condition Pre-filling
Combine conditions to set values in specific contexts.
Example 7: Set Label Based on Priority and Type
Requirement: High-priority production bugs should be tagged "urgent-fix"
Rule Configuration:
- Screen: Global Issue Create
- Target Field: Labels
- Scope: Bug
- Conditions (joined with AND):
- Priority not equals Medium
- Priority not equals Low
- Environment (select list) = Production
- Action: Set Field Value = "urgent-fix"
A rule joins all its conditions with one operator, so "High or Critical" next to the Environment condition is written as the priorities to leave out. If your priority scheme has more levels, such as Lowest, add a "not equals" condition for each of them.
User Experience:
- User creates Bug with High priority and Environment = Production
- Label "urgent-fix" auto-applies
- Production critical bugs are instantly tagged for visibility
- Team can filter by label for urgent items
Field Reference Pre-filling
Copy values from other fields automatically.
Example 8: Copy Due Date to Related Field
Requirement: When Due Date is set, auto-populate Target Completion Date
Rule Configuration:
- Screen: Global Issue Create
- Target Field: Target Completion Date
- Scope: Story, Task
- Condition: none
- Action: Set Field Value =
{{field("duedate")}}
Date fields can't be used in conditions, and none is needed here: Due Date is the source of the value, so the rule sets Target Completion Date again whenever Due Date changes.
User Experience:
- User sets Due Date
- Target Completion Date auto-fills with same value
- Related dates stay synchronized
- Reduces duplicate data entry
Practical Use Cases
Software Development Team
Set Assignee based on Area:
- Condition: Area (select list) = Frontend
- Action: Set Assignee = Frontend Team Lead
- Result: Issues route to appropriate team automatically
Customer Support Team
Set SLA Deadline for Premium customers:
- Condition: Customer Tier (select list) = Premium
- Action: Set SLA Deadline =
{{today().plusBusinessDays(1)}} - Result: Premium tickets get automatic 1-day SLA
Auto-tag by issue source:
- Condition: User in group "External Users" (the person creating the issue)
- Action: Set Label = "customer-reported"
- Result: Issues created by external users are tagged automatically
Common Patterns
Pattern 1: Static Default Value
Set fixed value based on condition.
Condition: Issue Type = Backend Bug
Action: Set Labels = backend
Pattern 2: Date Calculation
Use Smart Values for dynamic dates.
Screen: Global Issue Create (Due Date can be set on Create only)
Action: Set Due Date = {{today().plusBusinessDays(7)}}
Pattern 3: User Assignment
Auto-assign based on context.
Condition: Priority = Critical
Action: Set Assignee = [Team Lead User]
Pattern 4: Current User
Set field to whoever is creating the issue.
Action: Set Reporter = {{currentUser()}}
Pattern 5: Field Reference
Copy value from another field. The rule sets the value again whenever the source field changes.
Action: Set Target Date = {{field("duedate")}}
Troubleshooting
"Field doesn't pre-fill when I expect it"
Check:
- Are conditions met when form opens?
- Is the rule enabled?
- Is the screen correct (Global Issue Create for new issues)?
- Does scope match issue type?
- Is the target Due Date on a transition? Due Date can be set on Global Issue Create only.
Solution: Verify conditions evaluate to true at the moment the form loads or when the triggering field changes.
"Pre-filled value gets overwritten"
A value the user changed by hand is not overwritten when the rules run again, with two exceptions:
- When the rule's smart-value source field or one of its own condition fields changes, the field goes back to the value it had before the rule, and the rule sets its value again if its conditions are still met.
- On Global Issue Create, switching the work type starts the rules over, so a Set value rule for the new work type sets its value again.
Check:
- Did the user change the rule's source field (for example the field in
field("…")) or one of its condition fields, or switch the work type on Create? Then the rule setting the value again is expected. - Is there another rule setting the same field?
- Is the field being auto-filled by Jira's own defaults?
Solution: Review all rules affecting the target field. Disable conflicting rules or adjust conditions.
"Smart Value shows error or doesn't work"
Check:
- Is the Smart Value syntax correct? The whole value is one expression in double curly braces, without operators such as
+or-. - Are you referencing fields that are on the same screen?
- Is the Smart Value function supported? (See Using Smart Values)
Solution: Verify function name and parameters. Check field IDs are correct.
"User can't edit pre-filled value"
Check:
- Is there a separate "Lock Field" rule active?
- Is the field configured as read-only in Jira settings?
Solution: Pre-fill action doesn't lock fields. Check for other rules or Jira configuration locking the field.
Smart Values Reference
Common Smart Values for pre-filling (written inside double curly braces, for example {{today()}}):
Date functions:
today()- Today's datenow()- Current date and timestartOfWeek()- This MondayaddWeeks(startOfWeek(), 1)- Next week's MondayendOfMonth()- Last day of monthtoday().plusBusinessDays(N)- N business days from todayaddDays(today(), N)- N days from today
User functions:
currentUser()- The user creating or transitioning the issue
Field references:
field("fieldId")- Copy value from another field on the screenfield("duedate")- Get Due Date field valuefield("customfield_10001")- Get custom field by ID
See complete reference: Using Smart Values
Pre-fill vs Other Actions
Understanding differences helps choose the right action.
| Goal | Action | Use Case |
|---|---|---|
| Set default value | Set Field Value | Auto-populate fields when form opens |
| Show field conditionally | Show/Hide Field | Progressive disclosure |
| Prevent editing | Lock Field | Protect values from changes |
| Enforce filling | Make Field Required | Validation before submission |
Combined example:
- Hide "SLA Deadline" when Customer Tier not equals Premium (Show/Hide)
- Pre-fill with
{{today().plusBusinessDays(1)}}(Set Field Value) - Require field before saving (Make Field Required)
Related Patterns
Progressive Disclosure: Show fields conditionally, then pre-fill with smart defaults
Dynamic Required Fields: Pre-fill with default, require user to confirm or change
Field Locking on Transitions: Pre-fill value during transitions, then lock to prevent changes (supported on Create and Transition screens)
Next Steps
- Creating Your First Rule - Step-by-step guide to creating your first rule
- Using Smart Values - Complete function reference for dynamic values
- Progressive Disclosure - Show and pre-fill together
- Dynamic Required Fields - Pre-fill with validation
- Defining Actions - Set Field Value action details