Page History
Page properties | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
On this page
|
UI Text Box | ||||
---|---|---|---|---|
| ||||
What is a JWT calendar?It defines custom schedules that can be used for time calculations like time subtraction and time addition. The basic operations that can be done using the JWT calendars are:
|
Where to find JWT Calendars?
Head over to Administration → Manage apps → Jira Workflow Toolbox → Calendars
JWT calendars syntax
Main concepts
- Calendar: A system on which we will be able to do time calculations. Calendars are composed of at least one time specifier.
- Time Specifier: They are composed of a time definition and a block. (They are written in the following way: <time_definition> { <block_content> } ).
- Time definition: Defines a part of the time continuum (a set of real numbers ℝ).
- Block: Is written between braces {} and defines a scope where the lower level time specifiers can be written.
- Time Specifier's Level: Time specifiers are ordered in a 5 level hierarchy:
- Global
- Year
- Month
- Week
- Day
A time specifier of a particular level is always explicitly or implicitly contained in a time specifier of the immediately higher level. When the higher level time specifier is not written, then it's implicitly contained in an unrestricted higher level time specifier.
- Time Specifier's Priority: Time specifiers have also a priority associated, so that when 2 time specifiers overlap in the same level, the one with the highest priority is applied. Time specifiers with the same priority in the same level are not allowed to overlap, i.e., the intersection of their time definitions must be empty.
- Time Specifier's Category: We can classify time specifiers in 2 categories:
- Absolute: Defines the unique and specific parts of the time continuum. This category of time specifiers represents the ones in the global level.
- Relative: Define parts of the time in the context of other time specifiers, i.e., the actual part of the time continuum defined depends on the time specifier where it is contained. This category of time specifiers is contained in the all levels besides the global.
- Comment: JWT calendars supports single-line comments. Comments begin with a #. e.g.: #Summer Calendar
Time specifiers
The following table represents all the available time specifiers ordered by level and priority:
Date list
2018/03/25, 2018/AUG/18
2017/01/01, 2017/05/01, 2017/12/25-2017/12/31
UI Text Box | ||
---|---|---|
| ||
Can contain intervals. |
Date
2018/JUN/15-2018/SEP/15
2018/01/01-2018/01/07, 2018/04/10-2018/04/20
Year list
2000, 2005, 2010
2000-2011
2010-2015, 2018, 2020-2025
UI Text Box | ||
---|---|---|
| ||
Can contain intervals. |
JAN/1, MAY/1, JUL/4, DEC/25
Month-DayMAR/20-MAR/25
AUG/1-AUG/15, NOV/5-NOV-15
Month ListJAN, MAR, MAY, DEC
JAN-JUN, SEP-DEC
JAN-MAR, MAY, JUL, OCT-DEC
UI Text Box | ||
---|---|---|
| ||
Can contain intervals. |
00:00-00:00;
Time8:00-15:00;
8:00-15:00, 16:00-19:00;
21:00-3:00;
Empty;
UI Text Box | ||
---|---|---|
| ||
Used for defining holidays. |
1, 15, 30
1-5, 15, 25-3
1, 15-31
25-5
UI Text Box | ||
---|---|---|
| ||
Can contain intervals. |
MON-THU
MON-WED, FRI
MON, WED, FRI
SAT-MON, WED
UI Text Box | ||
---|---|---|
| ||
Can contain intervals. |
Get started with JWT calendars
Learn how to Add your first JWT calendar and see the examples below to get some inspiration and boost your steps.
Examples
Code Block | ||||
---|---|---|---|---|
| ||||
08:00-15:00, 16:00-20:00; |
Any date-time with time part between 08:00 and 15:00, or 16:00 and 20:00.
By convention 15:00 and 20:00 time instants are out of the calendar.
Code Block | ||||
---|---|---|---|---|
| ||||
MON-FRI{08:00-15:00, 16:00-20:00;} |
Code Block | ||||
---|---|---|---|---|
| ||||
MON-THU{08:00-15:00, 16:00-20:00;} FRI{08:00-15:00;} |
Mondays to Thursdays from 08:00 to 15:00 and from 16:00 to 20:00.
Fridays from 08:00 to 15:00.
Code Block | ||||
---|---|---|---|---|
| ||||
# Winter Calendar
MON - THU {
08:00 - 15:00,
16:00 - 20:00;
}
FRI {
08:00 - 15:00;
}
# Summer Calendar
JUN/15 - SEP/15 {
MON - FRI {
08:00 - 14:30;
}
} |
From June 15th to September 15th , Mondays to Fridays from 8:00 to 14:30.
For the rest of the year, Mondays to Thursdays from 08:00 to 15:00 and from 16:00 to 20:00. Fridays from 08:00 to 15:00.
Code Block | ||||
---|---|---|---|---|
| ||||
# Winter Calendar
MON - THU {
08:00 - 15:00,
16:00 - 20:00;
}
FRI {
08:00 - 15:00;
}
# Summer Calendar
JUN/15 - SEP/15 {
MON - FRI {
08:00 - 14:30;
}
}
# Annual Holidays
JAN/1, MAY/1, NOV/1, DEC/25 {;}
# 2017 Holidays
2017/JAN/12, 2017/APR/13, 2017/APR/14, 2017/NOV/23 {;} |
For the rest of the year, Mondays to Thursdays from 08:00 to 15:00 and from 16:00 to 20:00. Fridays from 08:00 to 15:00.
UI Text Box | ||
---|---|---|
| ||
We added also a specification for annual holidays, i.e., holidays that have the same day every year, and for particular year holidays (2017 in the example). |
Code Block | ||||
---|---|---|---|---|
| ||||
# Calendar from 1st December 2017 on
# Winter Calendar
MON-THU {
08:30 - 15:30,
16:00 - 19:30;
}
FRI {
08:00 - 15:00;
}
# Summer Calendar
JUN/15 - SEP/15 {
MON - FRI {
08:00 - 14:30;
}
}
# Annual Holidays
JAN/1, MAY/1, JUL/4, NOV/1, DEC/25 {;}
# 2018 Holidays
2018/03/27 - 2018/03/30, 2018/10/22 {;}
# Calendar up to 30th November 2017
2000/01/01 - 2017/11/30 {
# Winter Calendar
MON-THU {
08:00 - 15:00,
16:00 - 20:00;
}
FRI {
08:00 - 15:00;
}
# Summer Calendar
JUN/15 - SEP/15 {
MON - FRI {
08:00 - 14:30;
}
}
# Annual Holidays
JAN/1, MAY/1, NOV/1, DEC/25 {;}
}
# 2017 Holidays
2017/JAN/12, 2017/APR/13, 2017/APR/14, 2017/NOV/23 {;} |
Excerpt Include
Content Layout Macro |
---|