Если у вас есть правила, которые были созданы на сервере до ноября 2018 года (сервер 4.1.5), то это для вас. Если вы используете облако, это неприменимо, и вместо того, чтобы читать это, вы можете пойти и насладиться чашкой чая и шоколадом.
Функции и атрибуты даты находятся в разделе справки по датам.
Предупреждение
Хотя следующий синтаксис продолжает работать, настоятельно рекомендуется использовать новый синтаксис дат. Он не только проще в использовании, но и более мощный, и в нем исправлено множество ошибок.
Автоматизация для Jira позволяет вам управлять датами и форматировать их внутри полей, которые поддерживают интеллектуальные значения, created, updated, duedate, resolutiondate, а также пользовательские поля Date Picker, например {{issue.MyDateFieldName}} или {{issue.customfield_12356}}.
Форматирование дат
Вы можете указать формат даты двумя способами:
Указание формата
// Для форматирования значения поля даты
{{# issue.resolutiondate}} longDateTime {{/}}
{{# issue.MyDateFieldName}} longDateTime {{/}}
// Если другие поля не указаны, вы можете включить формат
{{#now}} longDateTime {{/}}
// Когда вы указываете часовой пояс или функцию для управления нужной датой
// чтобы явно обозначить формат и заключить значение в двойные кавычки.
{{#now}} format = "longDateTime", зона = Australia/Sydney {{/}}
Есть несколько встроенных форматов, или вы можете указать свой собственный:
Формат |
Четверг, 1 ноября 1979 г., 6:23:12 EST |
Заметки |
По умолчанию (не указано) |
Nov 1, 1979 6:23:12 AM |
Если формат не указан, по умолчанию используется mediumDateTime. Это может не работать, если используется как ввод для некоторых полей. |
toMillis |
310303392034 |
Сколько миллисекунд прошло с эпохи |
toSeconds |
310303392 |
Сколько секунд прошло с эпохи |
toMinutes |
5171723 |
Сколько минут прошло с эпохи |
toHours |
86195 |
Сколько часов прошло с эпохи |
toDays |
3591 |
Сколько дней прошло с эпохи |
Часовой пояс
По умолчанию даты для часового пояса отображаются как «UTC». Это часовой пояс серверов Jira для OnDemand / Cloud и часовой пояс по умолчанию, используемый при назначении запланированных триггеров.
Чтобы указать другой часовой пояс, вам нужно добавить параметр:
// Выводит время в Сиднее, когда задача была создана.
{{# issue.created}} зона = Австралия / Сидней {{/}}
Часовые пояса доступны в документации Joda.
Укажите часовой пояс пользователя:
// Печатает время в часовом поясе репортеров.
{{# issue.created}} зона = {{reporter.timeZone}} {{/}}
Язык (локаль)
По умолчанию даты указаны на английском языке. Чтобы указать другой языковой стандарт, укажите параметр:
// Выводит время в Сиднее, когда проблема была создана.
{{# issue.created}} locale = ru_RU {{/}}
Доступные языковые стандарты доступны в документации Java.
Управление датами
Управляйте датами, устанавливая определенные части даты или добавляя / вычитая из нее значения:
// Добавляет 7 дней к текущему времени
{{#now}} func = plusDays (7) {{/ now}}
// Вы можете связать функции.
// Устанавливает день на первое ноября
{{# issue.created}} func = withDayOfMonth (1) .withMonthOfYear (11) {{/}}
Расчет рабочих дней
Для работы с рабочими днями встроены два набора функций - вы можете либо плюс / минус рабочие дни с текущей даты, либо найти ближайший рабочий день к текущей дате.
// На следующий рабочий день
{{#now}} func = toBusinessDay () {{/}}
// На следующий рабочий день через 3 дня
{{#now}} func = plusDays (3) .toBusinessDay () {{/}}
// Предыдущий рабочий день
{{#now}} func = toBusinessDayBackwards () {{/}}
// Добавляет 6 рабочих дней к сегодняшнему дню
{{#now}} func = plusBusinessDays (6) {{/}}
// Количество рабочих дней между моментом создания задачи и сегодняшним днем
{{#now}} func = businessDaysBetween ({{issue.created}}), format = "toDays" {{/}}
Расчет разницы между двумя датами
Используйте формат «toSecond» и функцию «minusSeconds», чтобы вычесть одну дату из другой. Затем используйте один из форматов, который показывает, сколько секунд, минут, часов или дней. Также существует сокращенный метод daysBetween с более простым синтаксисом.
// Количество часов с момента создания проблемы
{{#now}} func = minusSeconds ({{# issue.created}} toSeconds {{/}}), format = "toHours" {{/}}
// Количество дней между двумя датами
{{#now}} func = daysBetween ({{issue.created}}), format = "toDays" {{/}}
Примеры
// 1 мая этого года
{{#now}} func = withDayOfMonth (1) .withMonthOfYear (5) {{/}}
// 1 мая следующего года
{{#now}} func = withDayOfMonth (1) .withMonthOfYear (5) .plusYears (1) {{/}}
// Последний день мая
{{#now}} func = withDayOfMonth (1) .withMonthOfYear (6) .minusDays (1) {{/}}
// Первый рабочий день мая
{{#now}} func = withDayOfMonth (1) .withMonthOfYear (5) .toBusinessDay () {{/}}
// Последний рабочий день мая
{{#now}} func = withDayOfMonth (1) .withMonthOfYear (6) .minusDays (1)
.toBusinessDayBackwards () {{/}}
По материалам Automation for Jira - Server: Archived date functions