Using Smart Values
Smart Values calculate a field value when the rule runs: a date relative to today, the user filling in the form, or the value of another field on the same screen.
Use Smart Values with the Set Field Value action on date, date-time and user fields, and on Labels.
What Are Smart Values?
Smart Values are expressions that evaluate to a value at runtime, rather than using a fixed date or user.
Example comparison:
Static value:
Set Due Date = 2026-03-15
Always sets March 15, 2026. Never changes.
Smart Value:
Set Due Date = {{addDays(today(), 7)}}
Calculates 7 days from today when the rule runs. Adapts to the current date.
Where You Can Use Smart Values
The value input of the Set Field Value action offers Smart Values for these target fields:
| Target field | Smart Values offered |
|---|---|
| Due Date, Date Picker custom fields | Date functions, field() |
| Date Time Picker custom fields | Date functions, field() |
| Assignee, Reporter, User Picker, Multi User Picker | currentUser(), field() |
| Labels | field() |
Other fields that Set Field Value supports (Summary, Description, text, URL and number fields, Priority, Issue Type, multi-select, checkboxes, cascading select) take a fixed value. See Set Field Value for the full list of fields it can set.
How to Write a Smart Value
A Smart Value is one expression in double curly braces:
{{today().plusBusinessDays(3)}}
An expression is built from function calls only:
- Function names with parentheses, for example
today() - Arguments separated by commas: other functions, whole numbers, or text in quotes, for example
addDays(today(), 5)orfield("duedate") .plusBusinessDays(days)after a date
Expressions have no operators (+, -, *, /, =, >), no if() and no negative numbers. To count back from a
date, use subtractBusinessDays() or yesterday(). To pick a different value depending on the situation, create one
Set Field Value rule per value and give each rule its own conditions.
Date Functions
All date functions work in UTC. today() is the current date in UTC, which can differ from your local date shortly
before or after midnight. A date field receives the date only; a date-time field receives the date and time.
Current Date/Time Functions
now()
Returns: Current date and time
Example:
{{now()}}
→ 2026-02-01 14:30
today()
Returns: Today's date (start of the day)
Example:
{{today()}}
→ 2026-02-01
yesterday()
Returns: Yesterday's date
Example:
{{yesterday()}}
→ 2026-01-31
tomorrow()
Returns: Tomorrow's date
Example:
{{tomorrow()}}
→ 2026-02-02
Date Navigation Functions
nextWeek()
Returns: The date 7 days from today
Example:
{{nextWeek()}}
→ 2026-02-08 (7 days from today)
nextMonth()
Returns: The same day next month
Example:
{{nextMonth()}}
→ 2026-03-01
startOfWeek()
Returns: Monday of the current week
Example:
{{startOfWeek()}}
→ 2026-01-26 (this Monday)
endOfWeek()
Returns: Sunday of the current week
Example:
{{endOfWeek()}}
→ 2026-02-01 (this Sunday)
endOfMonth()
Returns: The last day of the current month
Example:
{{endOfMonth()}}
→ 2026-02-28
startOfDay(date)
Parameters:
date- A date value
Returns: The start (midnight UTC) of the given date
Example:
{{startOfDay(now())}}
→ 2026-02-01 00:00
Date Arithmetic Functions
addDays(date, days)
Parameters:
date- A date valuedays- Number of calendar days to add
Returns: The date with the given number of days added
Example:
{{addDays(today(), 5)}}
→ 2026-02-06 (5 days from today)
addWeeks(date, weeks)
Parameters:
date- A date valueweeks- Number of weeks to add (7 days each)
Returns: The date with the given number of weeks added
Example:
{{addWeeks(today(), 2)}}
→ 2026-02-15 (14 days from today)
subtractBusinessDays(date, days)
Parameters:
date- A date valuedays- Number of business days to subtract
Returns: The date with the given number of business days subtracted, skipping Saturdays and Sundays
Example:
{{subtractBusinessDays(today(), 3)}}
→ 2026-01-28 (3 business days ago, skipping the weekend)
Date Methods
date.plusBusinessDays(days)
Parameters:
days- Number of business days to add
Returns: The date with the given number of business days added, skipping Saturdays and Sundays
Note: Business days are Monday to Friday. Write it after a date, for example after today() or now().
Example:
{{today().plusBusinessDays(3)}}
→ 2026-02-04 (3 business days from today)
{{now().plusBusinessDays(5)}}
→ 2026-02-06 14:30 (5 business days from now)
Field Functions
field(fieldId)
Parameters:
fieldId- Field ID or system name in quotes, for example"duedate","assignee"or"customfield_10001"
Returns: The current value of that field on the same screen
Example:
{{field("duedate")}}
→ The Due Date entered on the form
{{field("customfield_10001")}}
→ The value of that custom field
Common field names:
duedate- Due Dateassignee- Assigneereporter- Reporterlabels- Labelscustomfield_XXXXX- Custom fields (use the field ID)
Copy between fields of the same kind: a date into a date field, a user into a user field. If the source field is not on the screen or is empty, the rule leaves the target field unchanged.
User Functions
currentUser()
Returns: The user filling in the form
Example:
{{currentUser()}}
→ The person creating or transitioning the work item
Use case: Set Assignee, Reporter or a user picker field to the current user
Practical Examples
Date Examples
Set due date to 7 days from now:
{{addDays(today(), 7)}}
Set review date to 3 business days from today:
{{today().plusBusinessDays(3)}}
Set start date to the beginning of the current week:
{{startOfWeek()}}
Set deadline to the last day of the current month:
{{endOfMonth()}}
Field Reference Examples
Copy a date from another date field on the screen:
{{field("customfield_10015")}}
Copy the Assignee into a user picker field:
{{field("assignee")}}
User Examples
Set Assignee to the current user:
{{currentUser()}}
Combining Smart Values
Functions can take other functions as arguments.
Due date 5 business days from now:
{{today().plusBusinessDays(5)}}
Start date at the beginning of next week:
{{addWeeks(startOfWeek(), 1)}}
Date 3 business days before the due date entered on the form:
{{subtractBusinessDays(field("duedate"), 3)}}
Using Smart Values in Rules
Configuration Steps
Create a rule with the Set Field Value action on a date, date-time or user field, or on Labels
Click Use smart values next to the value input
Type the expression, or click the curly-brackets button and pick one from the Smart Values list
Save and test the rule
To go back to a fixed value, click Pick a date (date fields), Select user or Select users (user fields).
Example Rule
Requirement: Set Due Date to 3 business days from today when creating Bug issues
Configuration:
- Screen: Global Issue Create
- Target Field: Due Date
- Scope: Bug issue type
- Action: Set Field Value
- Value:
{{today().plusBusinessDays(3)}}
Result: When creating a Bug, Due Date auto-fills with today + 3 business days.
Due Date can be set on the create screen only, and field("duedate") reads it there only: in transition dialogs Jira
doesn't let apps work with Due Date.
Best Practices
Use descriptive expressions: Choose the function that states the intent, for example
today().plusBusinessDays(5) for "five working days"
Test with different dates: Verify Smart Values work correctly across month/year boundaries
Account for weekends: Use business day functions when working days matter
Check field IDs: Make sure the field you reference with field() is on the same screen and holds the same kind of
value as the target field
One value per rule: When the value depends on the situation, use several rules with different conditions instead of one expression
Error Handling
If a Smart Value can't be calculated:
- The field is not set and keeps its current value
- The rule does not prevent form submission
- Check the expression for typos, missing quotes or a missing closing parenthesis
Common issues:
- Referencing a field that is not on the screen with
field() - Invalid field IDs
- Incorrect function names or parameters
- Operators or negative numbers in the expression
Next Steps
Learn about actions:
- Defining Actions - All seven actions including Set Field Value
See examples:
- Pre-filling Values - Real-world Smart Value applications
Understand conditions:
- Defining Rule Conditions - Combine Smart Values with conditions
Ready to create rules with Smart Values? Start with Creating Your First Rule.