Архивные функции даты

Если у вас есть правила, которые были созданы на сервере до ноября 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