IncidentGarden

Ротации

Разбор формы ротации — период смены и счёт по активному времени, участники, ограничение активных часов (Restrict active hours).

Rotation (ротация) — основа дежурства: она задаёт, кто из участников дежурит и как дежурство переходит от одного к другому. Расписание может содержать несколько ротаций, и тогда они работают параллельно — см. Обзор.

Ротации настраиваются на детальной странице расписания. Кнопка Add Rotation открывает форму новой ротации, Edit Rotation — правку существующей. Управлять ими может org_admin, org_owner или team_admin команды.

Правка окон активных часов, поля Rotate every, участников или Start Date у уже существующей ротации пересчитывает её от якоря (Start Date): тот, кто дежурит прямо сейчас, может смениться. Это ожидаемо — очередь заново отсчитывается от точки отсчёта.

Как работает ротация

Участники ротации упорядочены, и дежурство переходит между ними по кругу, по порядку: отдежурил первый — заступает второй, за последним снова идёт первый. Насколько долго длится одна смена и с какого момента идёт отсчёт, задают поля формы.

Смена измеряется в активном времени. Если у ротации задано ограничение активных часов, время вне окна дежурства очередь не двигает: часы и дни, когда дежурства нет, не «сжигают» смену. Скажем, при смене «каждые 3 дня» и окне только по будням один дежурный держит эстафету три рабочих дня подряд, а выходные между ними просто пропускаются — как будто в счёте их нет. Без ограничения активных часов ротация активна круглосуточно, и смена идёт непрерывно по календарю.

В каждый момент активная ротация даёт одного дежурного — текущего в круге. Если на ротации включено ограничение активных часов и сейчас вы вне окна, ротация «молчит»: дежурного из неё в этот момент нет (его может дать другая параллельная ротация или оверрайд).

Форма ротации

Задайте Name

Name — имя ротации (например, «Weekly primary»).

Задайте Start Date и End Date

Start Dateякорь ротации: момент, от которого система отсчитывает границы смен и определяет, чья сейчас очередь. По умолчанию — полночь текущего дня в вашем поясе отображения. Час суток у якоря задаёт и час пересменки: хотите, чтобы дежурство переходило в 09:00, — поставьте в Start Date время 09:00.

End Date (optional) — необязательная дата окончания: оставьте пустым, чтобы ротация действовала бессрочно, или задайте, чтобы она перестала давать дежурного после этого момента.

Настройте Rotation cadence

Блок Rotation cadence отвечает «кто и как часто». Поле Rotate every задаёт длину смены: число плюс единица — days (дни), weeks (недели) или hours (часы). Например, Rotate every 2 weeks — каждый участник дежурит две недели подряд, затем эстафета идёт дальше; 1 days — посуточная смена.

Если включено ограничение активных часов, длина считается в активном времени (см. Как работает ротация) — под полем формы об этом напоминает подсказка.

Добавьте Participants

Секция Participants задаёт круг дежурных. Кнопка Add participant добавляет участника одного из двух видов:

  • User — конкретный человек.
  • Team — команда; в круг дежурства разворачиваются все её текущие члены. Если состав команды меняется, меняется и круг — без правки ротации.

Порядок участников и есть порядок дежурства по кругу — его можно менять.

Участник ротации обязан быть членом той команды, которой принадлежит расписание. Добавить в ротацию человека не из команды система не даст. Сначала введите его в команду — затем он станет доступен для выбора в Participants. Если участник — Team, это может быть только та же команда, которой принадлежит расписание; другую команду организации добавить нельзя.

При необходимости включите Restrict active hours

По умолчанию ротация активна круглосуточно. Переключатель Restrict active hours ограничивает её определённым временем — «дежурю только в эти часы». Разбор редактора — в разделе Ограничение активных часов ниже.

Для почасовой ротации (Rotate everyhours) ограничение активных часов недоступно — у почасовой смены окно вырождается; переключатель в этом случае неактивен.

Ограничение активных часов (Restrict active hours)

Когда Restrict active hours включён, ротация даёт дежурного только внутри заданного окна. Вне окна она молчит — дежурного из неё нет, как будто на это время её и не было.

Одно окно — это целая смена: оно достаётся тому, кто дежурит в день его начала, и никогда не делится между дежурными. Ночное окно 22:0006:00 целиком остаётся за дежурным того дня, когда оно началось, — на полночь дежурный не меняется.

Редактор активных часов работает в двух режимах.

Простой режим

По умолчанию открыт простой режим — «те же часы в выбранные дни недели»:

  • Days — дни недели, когда действует дежурство. Отмечайте флажки вручную или пресетами Weekdays (будни) и All (все семь дней).
  • From / To — единое окно по времени для всех выбранных дней. Окно может переходить через полночь: если From позже To, это ночное окно, например 22:0006:00.

Этого режима хватает для большинства расписаний: «будни 09:00–18:00», «каждый день ночью 22:00–06:00» и подобного.

Расширенный режим

Ссылка Advanced (custom windows) переключает в расширенный режим — набор окон, заданных вручную как непрерывные интервалы «от дня-и-времени до дня-и-времени». Каждое окно описывают поля Start day / From и End day / To — например, одно сплошное дежурство с понедельника 09:00 до пятницы 18:00. Кнопка Add time window добавляет ещё окно, ссылка Back to simple editor возвращает в простой режим.

Окна одной ротации не должны пересекаться между собой; стык, где одно кончается ровно там, где начинается следующее, допустим. Пересечение окон система при сохранении не примет.

Время в окнах вы вводите в своём поясе отображения (организации или пользователя), а система хранит его в UTC. Активный пояс подписан рядом с полями ввода. Это та же модель времени, что и в Time window у Политик.

Ограничение активных часов действует только на ротацию. Оверрайд его игнорирует и покрывает весь свой период целиком — см. Оверрайды.