Skip to main content

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.

warning

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
info

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.

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 date
  • now() - Current date and time
  • startOfWeek() - This Monday
  • addWeeks(startOfWeek(), 1) - Next week's Monday
  • endOfMonth() - Last day of month
  • today().plusBusinessDays(N) - N business days from today
  • addDays(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 screen
  • field("duedate") - Get Due Date field value
  • field("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.

GoalActionUse Case
Set default valueSet Field ValueAuto-populate fields when form opens
Show field conditionallyShow/Hide FieldProgressive disclosure
Prevent editingLock FieldProtect values from changes
Enforce fillingMake Field RequiredValidation 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)

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​