diff --git a/en/changelog/changelog.mdx b/en/changelog/changelog.mdx index cf9763d2..94927528 100644 --- a/en/changelog/changelog.mdx +++ b/en/changelog/changelog.mdx @@ -4,6 +4,20 @@ description: "This page documents important updates and feature releases for Fla keywords: ["Changelog", "Product Release", "Feature Updates", "Flashduty", "Version History"] --- + + +### Trading calendars and half trading days + +Flashduty now ships three trading calendars — China A-shares, Hong Kong and US stocks — and each reads its dates in the exchange's own time zone. Use one in either of two ways: link it in **Other calendars** on a service calendar's detail page, so the whole calendar follows the exchange; or pick it directly in an escalation rule's **Effective Time** or a silence rule's **Recurring Silence - Calendar Mode**, where the date type becomes **Trading day** / **Closed day** and the hours are filled in with that exchange's session (09:30-15:00 for A-shares, 09:30-16:00 for Hong Kong and US). + +Hong Kong and US stocks have half trading days (Hong Kong closes at 12:00, the US at 13:00). On such a day the hours before the close count as a workday (trading day) and the hours after it as a rest day (closed day); the calendar draws these dates green on the left and yellow on the right. See [Service calendars](/en/on-call/configuration/service-calendar#half-trading-days). + +### Service calendar limit raised to 20 + +Each account can now create 20 service calendars instead of 5; once you reach the limit, delete a calendar you no longer use to create another. See [Service calendars](/en/on-call/configuration/service-calendar). + + + ### AI SRE: resume after a group's team or environment is repaired diff --git a/en/on-call/channel/escalation-rule.mdx b/en/on-call/channel/escalation-rule.mdx index b47d055a..1f9f1043 100644 --- a/en/on-call/channel/escalation-rule.mdx +++ b/en/on-call/channel/escalation-rule.mdx @@ -25,6 +25,7 @@ Determines which incidents trigger the current rule. - **On**: Only participates in matching within specified time ranges; incidents outside this time will skip this rule. Two modes supported: - **Specific Time Period**: for example, only active on weekdays (Monday-Friday 9:00-18:00) - **Service Calendar**: Reference a predefined [Service Calendar](/en/on-call/configuration/service-calendar), for example, only active on "Trading Days", automatically excluding holidays + - **Trading Calendar**: Skip the service calendar and pick a China A-share, Hong Kong or US trading calendar directly. The date type becomes **Trading day** / **Closed day**, and the hours are filled in with that exchange's session (09:30-15:00 for A-shares, 09:30-16:00 for Hong Kong and US, exchange local time) read in the exchange's time zone. Edit them if you need different hours; Flashduty only fills them while they are still empty. After a half trading day's close the date counts as a closed day — see [Service calendars](/en/on-call/configuration/service-calendar#half-trading-days) The status dot before each rule name in the list shows whether that rule is participating in matching right now: green **Enabled**, gray **Disabled**, and yellow **Outside active hours**. Yellow means the rule itself is enabled but currently falls outside its effective time, so it is skipped for now; it turns green again automatically once the effective time begins, and you don't need to enable it manually. diff --git a/en/on-call/channel/noise-reduction.mdx b/en/on-call/channel/noise-reduction.mdx index 3e2a4351..62cfc841 100644 --- a/en/on-call/channel/noise-reduction.mdx +++ b/en/on-call/channel/noise-reduction.mdx @@ -280,7 +280,7 @@ The **Search name or description** box above the list filters it by rule name an | :-------------- | :-------------------------------------------------------------- | | **One-time Silence** | Active during specified time period, rule retained but inactive after expiration | | **Recurring Silence - Weekly Mode** | Active at fixed weekly time periods, for example, every Saturday 00:00-06:00 | -| **Recurring Silence - Calendar Mode** | Active on workdays/rest days per [Service Calendar](/en/on-call/configuration/service-calendar) | +| **Recurring Silence - Calendar Mode** | Active per a [service calendar](/en/on-call/configuration/service-calendar) or a [trading calendar](/en/on-call/configuration/service-calendar#link-a-trading-calendar). The calendar can be one you created, or a China A-share, Hong Kong or US trading calendar; with a trading calendar the type becomes **Trading day** / **Closed day** and the hours are filled in with that exchange's session. Clock times are read in the calendar's time zone, and after a half trading day's close the date counts as a rest day | **Time input for One-time Silence**: a duration input on the left (default `1d`) plus an absolute time-range picker on the right. The two controls stay in sync: diff --git a/en/on-call/configuration/service-calendar.mdx b/en/on-call/configuration/service-calendar.mdx index 97deaada..42f16ce8 100644 --- a/en/on-call/configuration/service-calendar.mdx +++ b/en/on-call/configuration/service-calendar.mdx @@ -32,7 +32,7 @@ Go to **Configuration → Service Calendar** and click **Create**, then fill in | **Time zone** | Calendar dates and time ranges in escalation and silence rules that reference this calendar use this time zone | -Each account can create up to 5 service calendars by default. If you need more, contact Flashduty support. +Each account can have up to 20 service calendars. Once you reach the limit the **Create** button is disabled until you delete a calendar you no longer use. @@ -62,6 +62,14 @@ In **Other calendars** on the detail page, you can select an available trading c The service calendar uses the exchange’s time zone while a trading calendar is linked, and you cannot edit the zone separately. If linking changes the time zone, Flashduty asks for confirmation. Escalation and silence rules referencing this calendar also use the new zone for their time ranges. +Three trading calendars are available — China A-shares, Hong Kong and US stocks — and each reads its dates in the exchange's own zone (`Asia/Shanghai`, `Asia/Hong_Kong`, `America/New_York`). + +### Half trading days + +Hong Kong and US stocks have half trading days; China A-shares do not. The Hong Kong market closes at 12:00 local time on a half day, the US market at 13:00. On such a day, **the hours before the close count as a workday and the hours after it as a rest day**. + +The calendar draws these dates green on the left and yellow on the right; hovering shows the close time, and the legend reads "Half day: working until 12:00, non-working after". Escalation and silence rules that reference the calendar judge their time ranges the same way: on that date, hours before the close fall on the workday side and hours after it on the rest-day side. + ## Which setting wins when a day has more than one? The first item in this order that has a setting for the day decides it: diff --git a/en/on-call/incident/escalate-dispatch-incident.mdx b/en/on-call/incident/escalate-dispatch-incident.mdx index a0b8b3ec..5a10bfeb 100644 --- a/en/on-call/incident/escalate-dispatch-incident.mdx +++ b/en/on-call/incident/escalate-dispatch-incident.mdx @@ -9,9 +9,11 @@ If an incident assigned to you isn't yours to handle, reassign it to other peopl Reassigning means re-notifying. If reassigning a **Processing** incident, it may reset progress to **Triggered**. Unless the new responders include previous responders who already acknowledged. -Current reassignment targets can only be schedules or individuals, called **Direct Assignment**. The difference from **Policy Assignment** is that directly assigned incidents can only be notified per personal preferences and cannot be escalated. +Current reassignment targets can be schedules, individuals or teams, called **Direct Assignment**. The difference from **Policy Assignment** is that directly assigned incidents can only be notified per personal preferences and cannot be escalated. +**Assigning to a team**: when you pick a team, Flashduty expands it into its members at the moment of assignment and records that list — later changes to the team's membership do not touch the incident already assigned. Only members whose status is enabled are expanded, and they are merged with anyone else you selected in the same submission. You can pick up to 20 teams at a time, and the expanded total (including people you selected directly) may not exceed 100. A team with no members is greyed out and marked **No members**; if a submission expands to nobody, Flashduty rejects the assignment. + ## Escalate | Type | Description | @@ -27,7 +29,7 @@ Escalation is essentially **Reassignment**. The main difference is that **Escala To bring in people who aren't responders yet, add them as responders. -Similar to **Reassign**, adding responders only allows selecting schedules or individuals as targets. The system notifies these personnel per their personal preferences. +Similar to **Reassign**, adding responders lets you select schedules, individuals or teams as targets. A team is expanded to its members at the moment of the operation, by the same rules as assigning to a team. The system notifies these personnel per their personal preferences. Add Responders Interface diff --git a/en/on-call/incident/what-is-incident.mdx b/en/on-call/incident/what-is-incident.mdx index 31182d5c..12b9e3ba 100644 --- a/en/on-call/incident/what-is-incident.mdx +++ b/en/on-call/incident/what-is-incident.mdx @@ -187,7 +187,7 @@ Select the channel the incident belongs to. If you create the incident inside a After selecting a channel, the system displays assignment method options: - **By Policy**: Select an escalation rule from the current channel. If no escalation rules are available in the channel, this option is disabled -- **Direct Assignment**: Select responders (individuals or schedules). In **Notification**, choose **Follow personal preferences** or **Use unified settings**. Unified settings require at least one notification channel. You can use the system default notification template or select an existing template. Direct assignment notifies individuals only; it does not send group chat notifications +- **Direct Assignment**: Select responders (individuals, schedules or teams). When you pick a team, Flashduty expands it into its members at the moment of assignment and notifies them; the expansion rules and the size limits are in [Escalate and reassign incidents](/en/on-call/incident/escalate-dispatch-incident). In **Notification**, choose **Follow personal preferences** or **Use unified settings**. Unified settings require at least one notification channel. You can use the system default notification template or select an existing template. Direct assignment notifies individuals only; it does not send group chat notifications Enter a detailed description of the incident. The editor supports rich text and Markdown syntax. diff --git a/zh/changelog/changelog.mdx b/zh/changelog/changelog.mdx index 8cd11b85..513b7df7 100644 --- a/zh/changelog/changelog.mdx +++ b/zh/changelog/changelog.mdx @@ -4,6 +4,20 @@ description: "本页面记录 Flashduty 产品的重要更新和功能发布" keywords: ["更新日志", "产品发布", "功能更新", "Flashduty", "版本记录"] --- + + +### 交易日历与半日市 + +Flashduty 现在内置 A股、港股、美股三个交易日历,日期按交易所时区计算。它有两种用法:在服务日历详情页的 **关联日历** 里关联,整个日历的日期与时段都跟随交易所;或者在分派策略的 **生效时间**、静默规则的 **周期静默 - 日历模式** 里直接选,此时日期类型变成 **交易日** / **休市日**,时段自动填成该交易所的交易时间(A股 09:30-15:00,港股、美股 09:30-16:00)。 + +港股和美股有半日市(港股 12:00 收市,美股 13:00 收市)。半日市当天收市前算工作日(交易日),收市后算休息日(休市日),日历上这类日期左绿右黄。详见[服务日历](/zh/on-call/configuration/service-calendar#半日市)。 + +### 服务日历上限提升到 20 个 + +每个账户可创建的服务日历从 5 个提升到 20 个,达到上限后删除不用的日历即可继续创建。详见[服务日历](/zh/on-call/configuration/service-calendar)。 + + + ### AI SRE:群绑定的团队或环境失效时自动续跑 diff --git a/zh/on-call/channel/escalation-rule.mdx b/zh/on-call/channel/escalation-rule.mdx index a9366cc4..436c1626 100644 --- a/zh/on-call/channel/escalation-rule.mdx +++ b/zh/on-call/channel/escalation-rule.mdx @@ -26,6 +26,7 @@ keywords: ["分派策略", "告警分派", "升级规则", "值班通知", "多 - **开启**:仅在指定时间范围内参与匹配,超出时间的故障将跳过该策略。支持两种方式: - **特定时间段**:如仅工作日(周一至周五 9:00-18:00)生效 - **服务日历**:引用预定义的 [服务日历](/zh/on-call/configuration/service-calendar),如仅「交易日」生效,自动排除节假日 + - **交易日历**:不走服务日历,直接选 A股、港股或美股交易日历。此时日期类型变成 **交易日** / **休市日**,时段自动填成该交易所的交易时间(A股 09:30-15:00,港股、美股 09:30-16:00,交易所当地时间),按交易所时区计算。需要别的时段直接改,系统只在时段还空着时填。半日市当天收市后算休市日,详见 [服务日历](/zh/on-call/configuration/service-calendar#半日市) 列表里策略名称前的状态点反映策略此刻是否参与匹配:绿色 **启用中**、灰色 **停用中**、黄色 **当前不在生效时间**。黄色表示策略本身是启用的,只是此刻落在生效时间之外、因此暂不参与匹配;进入生效时间后会自动变回绿色,无需手动启用。 diff --git a/zh/on-call/channel/noise-reduction.mdx b/zh/on-call/channel/noise-reduction.mdx index 2d7f59f2..c05f6ebb 100644 --- a/zh/on-call/channel/noise-reduction.mdx +++ b/zh/on-call/channel/noise-reduction.mdx @@ -281,7 +281,7 @@ Agent 会读取该协作空间最近的告警(回看范围可以调整,最 | :-------------- | :-------------------------------------------------------------- | | **单次静默** | 指定时间段内生效,过期后规则保留但不再生效 | | **周期静默 - 星期模式** | 按每周固定时间段生效,如每周六 00:00-06:00 | -| **周期静默 - 日历模式** | 按 [服务日历](/zh/on-call/configuration/service-calendar) 的工作日/休息日生效 | +| **周期静默 - 日历模式** | 按 [服务日历](/zh/on-call/configuration/service-calendar) 或 [交易日历](/zh/on-call/configuration/service-calendar#关联交易日历) 生效。日历可以是自己创建的服务日历,也可以是 A股、港股、美股交易日历;选交易日历时类型为 **交易日** / **休市日**,时段自动填成该交易所的交易时间。钟点按该日历的时区计算,半日市收市后按休息日处理 | **单次静默的时间输入**:左侧为持续时长输入框(默认 `1d`),右侧为绝对时间范围选择器,两者联动生效: diff --git a/zh/on-call/configuration/service-calendar.mdx b/zh/on-call/configuration/service-calendar.mdx index 9a1b5a91..24d8f39d 100644 --- a/zh/on-call/configuration/service-calendar.mdx +++ b/zh/on-call/configuration/service-calendar.mdx @@ -33,7 +33,7 @@ keywords: ["服务日历", "工作日", "休息日", "节假日", "差异化处 | **时区** | 日历日期以及引用该日历的分派策略、静默策略中的时段,均按此时区计算 | -每个账户默认最多可创建 5 个服务日历。如需创建更多,请联系 Flashduty 技术支持。 +每个账户最多可创建 20 个服务日历。达到上限后 **创建** 按钮置灰,需要先删除不再使用的日历才能继续创建。 @@ -63,6 +63,14 @@ keywords: ["服务日历", "工作日", "休息日", "节假日", "差异化处 关联交易日历后,服务日历的时区跟随交易所,不能单独修改。如果关联操作会改变时区,系统会要求确认;引用该日历的分派策略和静默策略,也会按新时区计算时段。 +目前提供 A股、港股、美股三个交易日历,日期分别按交易所时区(`Asia/Shanghai`、`Asia/Hong_Kong`、`America/New_York`)计算。 + +### 半日市 + +港股和美股有半日市,A股没有:港股半日市在当地时间 12:00 收市,美股半日市在 13:00 收市。半日市当天,**收市前按工作日计,收市后按休息日计**。 + +日历上这类日期左绿右黄,悬停可以看到收市时间,图例显示为「半日市:12:00 前算工作日,之后算休息日」。引用该日历的分派策略和静默策略,时段条件也按同一规则判断:同一个日期,收市前的钟点落在工作日一侧,收市后的钟点落在休息日一侧。 + ## 同一天有多个设置时,以哪个为准? 按以下顺序,由排在最前、且对这一天有设置的一项决定: diff --git a/zh/on-call/incident/escalate-dispatch-incident.mdx b/zh/on-call/incident/escalate-dispatch-incident.mdx index 375960d4..2da67338 100644 --- a/zh/on-call/incident/escalate-dispatch-incident.mdx +++ b/zh/on-call/incident/escalate-dispatch-incident.mdx @@ -10,9 +10,11 @@ keywords: ["故障升级", "重新分派", "处理人", "故障分派", "升级 重新分派意味着重新进行通知。如果对 **处理中** 的故障进行重新分派,可能导致故障的处理进度被重置为 **待处理**。除非,新的处理人员中包含之前的处理人,且之前的处理人已经认领了故障。 -当前重新分派的目标只能是值班表或者个人,我们称之为 **直接分派**。与 **策略分派** 的区别是,直接分派的故障,只能按照个人偏好进行通知,也不存在升级的可能。 +当前重新分派的目标可以是值班表、个人或者团队,我们称之为 **直接分派**。与 **策略分派** 的区别是,直接分派的故障,只能按照个人偏好进行通知,也不存在升级的可能。 +**按团队分派**:选择团队后,系统在分派的那一刻把团队展开成它的成员并记下来——之后团队的成员变动不会改动这条已分派的故障。参与展开的只有状态为启用的成员;展开后与您同批选中的人员合并去重。一次最多选 20 个团队,展开后总人数(含直接选的人员)不能超过 100。没有成员的团队在选择框里标为 **无成员** 且不可选,如果提交时展开不出任何人,系统会拒绝这次分派。 + ## 升级分派 | 类型 | 说明 | @@ -28,7 +30,7 @@ keywords: ["故障升级", "重新分派", "处理人", "故障分派", "升级 当故障分派给您,但您需要其他人员(此人员不在处理人员中)一同参与处理,您可以选择添加处理人。 -与 **重新分派** 类似,添加处理人,只能选择值班表或者个人作为分派目标。系统会按照个人偏好来通知这些人员。 +与 **重新分派** 类似,添加处理人可以选值班表、个人或者团队作为分派目标。选择团队时同样按分派那一刻的成员快照展开,规则与按团队分派一致。系统会按照个人偏好来通知这些人员。 添加处理人界面 diff --git a/zh/on-call/incident/what-is-incident.mdx b/zh/on-call/incident/what-is-incident.mdx index a7f5e4a2..c8240b1b 100644 --- a/zh/on-call/incident/what-is-incident.mdx +++ b/zh/on-call/incident/what-is-incident.mdx @@ -188,7 +188,7 @@ Flashduty On-call 提供了一个邮件集成,允许您通过发送邮件来 选中协作空间后,系统会展示分派方式选项: - **策略分派**:从当前协作空间下的分派策略中选择一条进行分派。如果协作空间下没有可用的分派策略,该选项将被禁用 -- **直接分派**:手动选择处理人员(个人或值班表),直接分派给指定人员。展开 **通知配置**,可选择 **遵循个人偏好** 或 **遵循统一设置**。统一设置需至少选择一种通知渠道;通知模板可使用系统默认模板或已有模板。此处只通知个人,不向群聊发送通知 +- **直接分派**:手动选择处理人员(个人、值班表或团队),直接分派给指定人员。选择团队时,系统在分派那一刻把团队展开成成员并向他们通知,展开规则与人数上限见 [升级与分派故障](/zh/on-call/incident/escalate-dispatch-incident)。展开 **通知配置**,可选择 **遵循个人偏好** 或 **遵循统一设置**。统一设置需至少选择一种通知渠道;通知模板可使用系统默认模板或已有模板。此处只通知个人,不向群聊发送通知 输入故障的详细描述,编辑器支持富文本和 Markdown 语法。