Overview
The startDate, endDate, trimHistoryStartDate, and trimHistoryEndDate parameters now accept dynamic date expressions in addition to static ISO-8601 date strings. Dynamic dates are evaluated when the report runs, using the execution time and the user’s Jira timezone. This means a saved parameter set using dyn::thismonth_start will always resolve to the start of the current month, not the month when it was saved.
Note: This is a backwards-compatible, additive change. Existing ISO-8601 date strings continue to work without modification. The API version has not changed.
URL Encoding
Dynamic date expressions are plain-text strings. All endpoints accept parameters via URL query string (GET) or application/x-www-form-urlencoded body (POST). Both encoding schemes treat a bare + character as a space, not a plus sign.
This matters for compact offsets that use an explicit + sign (e.g. +3mo, +2d).
Recommended approach: omit the + sign. It is optional — positive offsets without it work identically:
Avoid (breaks in query string)
-
dyn::now::+1h
-
dyn::thisquarter_start::+3mo
-
dyn::now::-3w+2d-1h
Use Instead -
dyn::now::1h
-
dyn::thisquarter_start::3mo
-
dyn::now::-3w2d-1h
If you must send an explicit +, percent-encode it as %2B.
The :: separator colons and the - sign in negative offsets are URL-safe and do not require encoding.
Format
dyn::<anchor>[::compact-offset]
|
Parameter |
Description |
|---|---|
|
dyn:: |
The prefix marks the value as a dynamic expression. |
|
<anchor> |
It is a named calendar point (see table below). |
|
::compact-offset |
It is optional and shifts the resolved instant by a signed amount. |
Anchor Reference
|
Anchor |
Resolves To |
|---|---|
|
now |
Current instant |
|
thishour_start |
Start of the current hour (HH:00:00) |
|
thishour_end |
End of the current hour (HH:59:59) |
|
today_start |
00:00:00 of today |
|
today_end |
23:59:59 of today |
|
yesterday_start |
00:00:00 of yesterday |
|
yesterday_end |
23:59:59 of yesterday |
|
thisweek_start |
00:00:00 of the first day of this week* |
|
thisweek_end |
23:59:59 of the last day of this week* |
|
lastweek_start |
00:00:00 of the first day of last week* |
|
lastweek_end |
23:59:59 of the last day of last week* |
|
thismonth_start |
00:00:00 of the 1st of this month |
|
thismonth_end |
23:59:59 of the last day of this month |
|
lastmonth_start |
00:00:00 of the 1st of last month |
|
lastmonth_end |
23:59:59 of the last day of last month |
|
thisquarter_start |
00:00:00 of the first day of the current quarter |
|
thisquarter_end |
23:59:59 of the last day of the current quarter |
|
lastquarter_start |
00:00:00 of the first day of last quarter |
|
lastquarter_end |
23:59:59 of the last day of last quarter |
|
thisyear_start |
00:00:00 of January 1st of this year |
|
thisyear_end |
23:59:59 of December 31st of this year |
|
lastyear_start |
00:00:00 of January 1st of last year |
|
lastyear_end |
23:59:59 of December 31st of last year |
* * Week start day is determined by the Jira instance's date picker setting (jira.date.time.picker.use.iso8061): if the ISO-8601 date picker is enabled in Jira, the week starts on Monday; otherwise it starts on Sunday. For requests made via the Connect on Forge REST API, this setting cannot be read (it requires a Forge OAuth token), so the week always defaults to starting on Sunday.
Compact Offset Format
An optional offset shifts the resolved anchor. Tokens are concatenated with no spaces. Each token is [+|-][N][unit] where the sign is optional for positive values (e.g. 1mo and +1mo are equivalent).
|
Unit Symbol |
Meaning |
Maximum absolute value |
|---|---|---|
|
y |
Year |
10 |
|
mo |
Month |
120 |
|
w |
Week |
520 |
|
d |
Day |
3650 |
|
h |
Hour |
5000 |
Multiple units can be combined in a single offset string (e.g. -3w2d-1h). Each unit may appear at most once.
Notes
-
All resolutions use the requesting user's Jira timezone.
-
For month and quarter
*_start/*_endanchors, any month or year offset is applied at the calendar period level before recomputing the boundary.
Example:dyn::thismonth_end::-1moon April 30 resolves to March 31 (end of March), not March 30. -
Week, day, and hour offsets are always applied directly to the resolved instant (no period-first treatment), for all anchor types.
-
Static ISO-8601 date strings (
yyyy-MM-ddoryyyy-MM-dd hh:mm) continue to be accepted as before.
Examples
|
Expression |
Meaning |
|---|---|
|
dyn::today_start |
Start of today (no offset) |
|
dyn::thismonth_end |
End of this month |
|
dyn::lastquarter_start |
Start of last quarter |
|
dyn::now::-1h |
1 hour ago |
|
dyn::today_start::-1d |
Start of yesterday (same as dyn::yesterday_start) |
|
dyn::thisweek_start::-7d |
Start of last week (same as dyn::lastweek_start) |
|
dyn::thismonth_start::-1mo |
Start of last month (same as dyn::lastmonth_start) |
|
dyn::thisquarter_start::3mo |
Start of next quarter |
|
dyn::thisyear_end::-1y |
End of last year |
|
dyn::now::-3w2d-1h |
3 weeks and 1 hour ago, plus 2 days |