Skip to content

Commit a1d6e53

Browse files
ysyneuclaude
andcommitted
docs: enhance schedule documentation with missing features and details
Add fair rotation, rotation cycle units (hour/month), time restriction modes (daily/weekly with multiple periods), detailed notification channel configuration (personal + group chat with 9 IM platforms), schedule detail view modes, and field constraints to both zh and en docs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d4c2b25 commit a1d6e53

2 files changed

Lines changed: 80 additions & 18 deletions

File tree

en/on-call/configuration/schedule.mdx

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ Understanding these concepts before configuration will help you better plan your
2929
| **Override** | Temporarily adjust the on-call person for a specific time period without modifying permanent rules (commonly used for leave, temporary coverage) |
3030
| **Date Mask** | Select which days to participate in on-call, e.g., Team A on-call Monday to Friday, Team B on weekends |
3131
| **Continuous Rotation** | When enabled, rotation boundaries are calculated based on shift start time, preventing shifts from being split at 00:00. Only supported when date mask is configured. See [Date mask and continuous rotation](#date-mask-and-continuous-rotation) for details |
32+
| **Fair Rotation** | The system automatically adjusts rotation order to ensure each member gets opportunities in different time periods, preventing someone from always being on-call during weekends |
3233

3334
![Schedule Concepts](https://docs-cdn.flashcat.cloud/images/png/3423a4f3133d5caa1f0aaebca970d404.png)
3435

@@ -39,20 +40,39 @@ Understanding these concepts before configuration will help you better plan your
3940
<Steps>
4041
<Step title="Create a Schedule">
4142
Go to **Schedule Management**, click "Create Schedule"
43+
- **Schedule Name**: 1–40 characters, must be unique within the account
44+
- **Owning Team**: Specifies which team manages this schedule; team members gain edit permissions for this schedule
4245
- **Schedule Description**: Supports Markdown syntax, content can be included in notifications
43-
- **Owning Team**: Specifies which team manages this schedule, not the on-call personnel
4446
</Step>
45-
<Step title="Set Notification Reminders">
46-
To prevent forgetting shifts or handoffs, the system provides two reminder types:
47-
- **Handoff Notification**: N minutes before rotation (e.g., 15 minutes ahead), notifies both the outgoing and incoming personnel
48-
- **On-duty Notification**: During on-call periods, sends a daily notification at a fixed time (e.g., 9:00 AM) reminding who's currently on-call
49-
- **Channels**: Supports email, SMS, phone, IM (Feishu/Lark, Dingtalk, WeCom)
47+
<Step title="Set Shift Notifications">
48+
To prevent forgetting shifts or handoffs, the system provides two notification triggers:
49+
- **Advance Notification**: Notifies both outgoing and incoming personnel N minutes before handoff (in 5-minute increments)
50+
- **Scheduled Notification**: Sends a daily notification at a fixed time (e.g., 8:00 AM) reminding who is currently on-call
51+
52+
After enabling either notification trigger, you need to configure notification channels:
53+
54+
- **Personal Channels**: Send notifications directly to on-call personnel
55+
- **Follow personal preference**: Each responder receives notifications via their personally configured channels
56+
- **Follow unified settings**: Administrators select notification channels (SMS, email, and integrated IM apps)
57+
- **Group Chat Channels**: Send notifications to group chats, supporting the following platforms:
58+
- Feishu app, DingTalk app, Slack app (select chat groups via integrated IM apps)
59+
- WeCom bot, DingTalk bot, Feishu bot (send via webhook URL)
60+
- Slack bot, Telegram bot, Zoom bot
5061
</Step>
5162
<Step title="Define On-call Rules">
5263
This is the core step. You can add one or more layers of rules. Each layer includes:
53-
- **On-call Personnel**: Select members participating in rotation
54-
- **Rotation Cycle**: Supports day, week, custom duration
55-
- **Time Restriction**: (Optional) This rule only takes effect during specific time periods
64+
65+
- **On-call Personnel**: Select members participating in rotation, supports grouping and primary/backup roles
66+
- **Rotation Cycle**: Supports four units — hour, day, week, and month — with values from 1 to 30. For example, "2 days" means rotation every 2 days
67+
- **Handoff Time**: When the rotation cycle is 1 week, you can specify the day and time for handoff
68+
- **Fair Rotation**: When enabled, the system automatically adjusts rotation order to prevent someone from always being on-call during weekends
69+
- **Date Mask**: Select which days of the week to schedule on-call. See [Date mask and continuous rotation](#date-mask-and-continuous-rotation) for details
70+
- **Time Restriction**: (Optional) Restrict actual on-call hours within each rotation cycle, with the following modes:
71+
- **No restriction**: Members are on-call for the entire rotation cycle
72+
- **Daily**: Set daily on-call time ranges (e.g., 09:00–18:00), multiple periods can be added
73+
- **Weekly**: Set day+time on-call ranges (e.g., Monday 09:00 – Friday 18:00), multiple periods can be added
74+
75+
<Note>When date mask is enabled, the "Weekly" restriction mode is unavailable since the date mask already provides day-of-week control. After setting time restrictions, there may be gaps with no one on-call — ensure other rules provide coverage.</Note>
5676
</Step>
5777
</Steps>
5878

@@ -162,6 +182,17 @@ Consider enabling continuous rotation in the following scenarios:
162182
</Tab>
163183
</Tabs>
164184

185+
## View schedule details
186+
187+
---
188+
189+
Click a schedule name to enter the detail page, where you can view the scheduling calendar and manage on-call rules. The upper right corner provides these options:
190+
191+
- **View switcher**: Toggle between "Week", "Two Weeks", and "Calendar" (month view)
192+
- **Highlight my shifts**: When enabled, your on-call shifts are highlighted for quick identification
193+
194+
Click any time slot in the calendar to view the current responders or create an override.
195+
165196
## View Personal Schedule
166197

167198
---

zh/on-call/configuration/schedule.mdx

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Flashduty On-call 提供极具灵活性的值班编排能力,支持按天、
3030
| **临时调班** | 在不修改长期规则的前提下,临时调整某一段时间的值班人(常用于请假、临时顶班) |
3131
| **日期掩码** | 选择参与值班的时期,比如周一到周五时 A 团队值班,周末是 B 团队值班 |
3232
| **连续轮换** | 开启后,轮换边界以班次开始时间为基准计算,避免班次在 00:00 被拆分。仅在配置日期掩码时支持,详见[日期掩码与连续轮换](#日期掩码与连续轮换) |
33+
| **公平轮换** | 系统自动调整轮换顺序,确保每个成员都有机会在不同的时间段或轮次中参与值班,避免某个成员始终在休息日值班 |
3334

3435
![值班表概念图](https://docs-cdn.flashcat.cloud/images/png/3423a4f3133d5caa1f0aaebca970d404.png)
3536

@@ -40,20 +41,39 @@ Flashduty On-call 提供极具灵活性的值班编排能力,支持按天、
4041
<Steps>
4142
<Step title="创建值班表">
4243
进入 **值班管理**,点击"创建值班表"
44+
- **值班名称**:长度为 1~40 个字符,同一账户下不可重复
45+
- **管理团队**:指定该值班表归属哪个团队管理,团队成员将获得该值班表的编辑权限
4346
- **值班描述**:支持 Markdown 语法,该区域的内容可以在通知时携带
44-
- **所属团队**:指定该值班表归属哪个团队管理,并非值班人员
4547
</Step>
46-
<Step title="设置通知提醒">
47-
为了避免忘记值班或交接,系统提供两种提醒:
48-
- **交接班通知**:在轮换交接前 N 分钟(如提前 15 分钟),同时通知"即将下班"和"即将接班"的人员
49-
- **值班中通知**:在值班期间,每天固定时间(如上午 9:00)发送通知,提醒当前谁在值班
50-
- **渠道**:支持邮件、短信、电话、IM(飞书/钉钉/企微)
48+
<Step title="设置换班通知">
49+
为了避免忘记值班或交接,系统提供两种通知时机:
50+
- **提前通知**:在轮换交接前 N 分钟(以 5 分钟为步长),同时通知"即将下班"和"即将接班"的人员
51+
- **定时通知**:在值班期间,每天固定时间(如上午 8:00)发送通知,提醒当前谁在值班
52+
53+
启用任一通知时机后,您需要配置通知渠道:
54+
55+
- **单聊渠道**:向值班人员个人发送通知
56+
- **遵循个人偏好**:每个值班人员按各自在个人账户中配置的通知渠道接收通知
57+
- **遵循统一设置**:由管理员统一选择通知渠道(短信、邮件,以及已集成的 IM 应用)
58+
- **群聊渠道**:将通知发送到群聊中,支持以下平台:
59+
- 飞书应用、钉钉应用、Slack 应用(通过已集成的 IM 应用选择群聊)
60+
- 企业微信机器人、钉钉机器人、飞书机器人(通过 Webhook 地址发送)
61+
- Slack 机器人、Telegram 机器人、Zoom 机器人
5162
</Step>
5263
<Step title="定义值班规则">
5364
这是最核心的步骤。您可以添加一层或多层规则。每层规则包含:
54-
- **值班人员**:选择参与轮换的成员
55-
- **轮换周期**:支持天、周、自定义时长
56-
- **限制时间段**:(可选)该规则仅在特定时间段生效
65+
66+
- **值班人员**:选择参与轮换的成员,支持按组排列,支持设置主备角色
67+
- **轮换周期**:支持小时、天、周、月四种单位,数值范围为 1~30。例如"2 天"表示每 2 天轮换一次
68+
- **交接时间**:当轮换周期为 1 周时,可以指定在周几的什么时间进行交接
69+
- **公平轮换**:开启后,系统自动调整轮换顺序,避免某个成员始终在休息日值班
70+
- **日期掩码**:选择一周中的哪些天安排值班,详见[日期掩码与连续轮换](#日期掩码与连续轮换)
71+
- **值班时间**:(可选)限定成员在每个轮换周期内的实际值班时间段,支持以下模式:
72+
- **不限制**:成员在整个轮换周期内值班
73+
- **每天**:设置每天的值班时间段(如 09:00~18:00),可添加多个时间段
74+
- **每周**:设置按星期+时间的值班范围(如周一 09:00 ~ 周五 18:00),可添加多个时间段
75+
76+
<Note>当开启日期掩码时,"每周"模式不可用,因为日期掩码已提供按星期的控制。设置值班时间后,轮换周期内可能存在无人值班的时段,请确保有其他规则覆盖。</Note>
5777
</Step>
5878
</Steps>
5979

@@ -163,6 +183,17 @@ Flashduty On-call 提供极具灵活性的值班编排能力,支持按天、
163183
</Tab>
164184
</Tabs>
165185

186+
## 查看值班详情
187+
188+
---
189+
190+
点击值班表名称进入详情页,您可以查看排班日历和管理值班规则。页面右上角提供以下操作:
191+
192+
- **视图切换**:在"一周"、"两周"和"日历"(月视图)之间切换
193+
- **高亮我的值班**:开启后,您的值班时段将被高亮显示,方便快速识别
194+
195+
在日历中点击任意时间段,可以查看当前值班人员,或创建临时调班。
196+
166197
## 查看个人值班计划
167198

168199
---

0 commit comments

Comments
 (0)