Skip to content

Commit e32a184

Browse files
committed
docs: update group documentation with validation troubleshooting guide
1 parent fee71e4 commit e32a184

File tree

3 files changed

+143
-7
lines changed

3 files changed

+143
-7
lines changed

site/content/docs/cli/constructs-reference.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ Use the CheckGroupV2 construct to organize your Checks into groups. This comes w
474474
475475
> Note: you will notice that managing shared configuration between Checks is very easy just using JS/TS. You might not need Check Groups for that purpose.
476476
477-
#### Adding Checks to a Check Group
477+
### Adding Checks to a Check Group
478478

479479
You can add a Check to a group in two ways.
480480

@@ -533,6 +533,12 @@ new ApiCheck('check-group-api-check-1', {
533533
> Note that you can configure two different `frequency` properties for API and Browser checks in a `CheckGroup` separately.
534534
> The CLI follows a fallback logic using `Check->CheckGroup->Project` configurations.
535535
536+
### Troubleshooting validation
537+
538+
Group validation ensures that all checks within a group can support the selected configuration settings. Since uptime monitors and synthetic checks have different feature limitations based on your plan tier, Checkly validates group settings against the lowest common denominator of supported features to prevent configuration conflicts.
539+
540+
For detailed troubleshooting guidance, see [Troubleshoot validation of Group](/docs/groups/troubleshoot/).
541+
536542
## `CheckGroup` (deprecated)
537543

538544
As of CLI release v6.0 the CheckGroup construct is deprecated and will be removed in a future version. We recommend migrating to [CheckGroupV2](#checkgroupv2), which offers more intuitive behavior and better control.

site/content/docs/groups/_index.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Groups help you organize your checks (e.g. by team or feature) and apply shared
1717

1818
![Check group screenshot](/docs/images/groups/group-in-dashboard.png)
1919

20-
# Creating a check group
20+
## Creating a check group
2121

2222
By default, newly created check groups behave like folders, with no [group-level configuration](#group-level-configuration) applied. To get started:
2323

@@ -27,14 +27,16 @@ By default, newly created check groups behave like folders, with no [group-level
2727

2828
You can populate a group by moving existing checks into it or by creating new checks directly within the group.
2929

30-
# Group level configuration
30+
## Group level configuration
3131

3232
Groups let you apply shared configuration to standardize how checks behave. Below is a breakdown of each setting and how it affects checks in the group:
3333

3434
### API checks defaults
35+
3536
You can define [API check defaults](/docs/groups/api-check-defaults/) such as a common base URL, request information, [assertions](/docs/api-checks/assertions/), and [setup & teardown scripts](/docs/api-checks/setup-teardown-scripts/) to manage API checks in your group at scale.
3637

3738
### Variables
39+
3840
For configuration information commonly used by checks in your group, create [group environment variables and secrets](/docs/groups/variables/). These are merged with variables at the global and check levels when a check runs.
3941

4042
### Scheduling & locations overrides
@@ -62,7 +64,7 @@ You can run checks in this group as [E2E tests](/docs/testing) locally or from y
6264

6365
Checkly manages the [runtime](/docs/runtimes) environment for your JavaScript code in browser checks and setup & teardown scripts. If the checks in this group need a runtime different from your account default, you can set that here.
6466

65-
# Adding or removing checks from groups
67+
## Adding or removing checks from groups
6668

6769
* **Moving a check into a group:** If the group has [group-level configuration](#group-level-configuration) defined, adding a check may change how it runs. Settings like API defaults, locations & scheduling, or retries & alerting can override or append to the check’s configuration.
6870

@@ -71,7 +73,7 @@ Checkly manages the [runtime](/docs/runtimes) environment for your JavaScript co
7173
> [!WARNING]
7274
> To prevent issues (e.g. broken references to group variables), the check will be automatically deactivated after being added to or removed from a group. Make sure to review its settings before reactivating.
7375
74-
# How we run grouped checks
76+
## How we run grouped checks
7577

7678
It helps to understand how we run the checks in a group, specifically if you're doing more sophisticated checks with shared
7779
variables, script and alerting channels. Here are the rules:
@@ -82,5 +84,10 @@ variables, script and alerting channels. Here are the rules:
8284
4. There are no results or metrics collected at the group level.
8385
5. Checks in a group still have their individual scheduling settings.
8486

85-
As you can see, groups in their current incarnation are mostly handy configuration buckets for common properties. In the
86-
future we will expand the group features to make them smarter.
87+
As you can see, groups in their current incarnation are mostly handy configuration buckets for common properties. In the future we will expand the group features to make them smarter.
88+
89+
## Troubleshoot validation
90+
91+
Group validation ensures that all checks within a group can support the selected configuration settings. Since uptime monitors and synthetic checks have different feature limitations based on your plan tier, Checkly validates group settings against the lowest common denominator of supported features to prevent configuration conflicts.
92+
93+
Learn how to [resolve validation errors](/docs/groups/troubleshoot/) when configuring Groups with mixed check types.
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
---
2+
title: Troubleshoot validation of Group - Checkly Docs
3+
displayTitle: Troubleshoot validation of Group
4+
navTitle: Troubleshoot
5+
weight: 30
6+
menu:
7+
resources:
8+
parent: "Groups"
9+
identifier: troubleshoot-groups
10+
11+
---
12+
13+
Groups in Checkly allow you to apply shared settings like API check defaults, scheduling strategy, locations, retries, and alerting across multiple checks. However, uptime monitors (TCP, URL, HTTP) and synthetic checks (Browser, API, Multi-step) don't always support the same features, which can lead to validation errors when mixing check types or using certain configurations on specific [plan tiers](https://www.checklyhq.com/pricing/).
14+
15+
## Understanding Group Validation Rules
16+
17+
When configuring groups, Checkly validates that all checks within the group can support the selected settings. The validation rules depend on your plan tier and the types of checks in your group.
18+
19+
### Group Types and Validation
20+
21+
**Synthetic-only groups:** All group overrides are available (same functionality as today).
22+
23+
**Monitor-only groups:** Overrides are limited by your plan type. For example, only round-robin scheduling and limited retry options may be available.
24+
25+
**Mixed groups (Synthetics & Monitors):** Only monitor overrides are allowed (lowest common denominator).
26+
27+
> [!WARNING]
28+
> By default, all overrides are shown if a group is created without any checks.
29+
>
30+
> If you set scheduling or retry overrides before adding checks, this initializes the group as either synthetic-only or monitor-only. If features like parallel runs or advanced retries are selected, monitors cannot be added to the group.
31+
32+
## Affected Properties by Plan Tier
33+
34+
The following table shows which group properties are supported by different check types across plan tiers:
35+
36+
| Group Property | Check Type | Hobby | Starter | Team | Enterprise |
37+
|---|---|---|---|---|---|
38+
| **Scheduling Strategy** | *Uptime* | Round robin | Round robin | Round robin | Round robin & Parallel |
39+
| | *Synthetics* | Round robin & Parallel | Round robin & Parallel | Round robin & Parallel | Round robin & Parallel |
40+
| **Retries** | *Uptime* | No retries | No retries | 1 retry | Full retries |
41+
| | *Synthetics* | Full retries | Full retries | Full retries | Full retries |
42+
| **Locations** | *Uptime* | 4 locations | 4 locations | 22 locations | 22 locations |
43+
| | *Synthetics* | 4 locations | 4 locations | 22 locations | 22 locations |
44+
| **Private Locations** | *Uptime* | No | No | Yes | Yes |
45+
| | *Synthetics* | No | No | Yes | Yes |
46+
| **Setup & Teardown** | *Uptime (HTTP)* | No | No | No | No |
47+
| | *Synthetics (API)* | Yes | Yes | Yes | Yes |
48+
49+
## Common Validation Errors
50+
51+
### Scheduling Strategy Conflicts
52+
53+
**Error:** "Parallel scheduling is not supported for uptime monitors on your current plan."
54+
55+
**Solution:**
56+
57+
- If your group contains uptime monitors and you're on a Hobby, Starter, or Team plan, change the scheduling strategy to "Round robin"
58+
- Alternatively, separate uptime monitors into a different group
59+
- Upgrade to Enterprise plan
60+
61+
### Retry Configuration Conflicts
62+
63+
**Error:** "Advanced retry settings are not supported for uptime monitors on your current plan."
64+
65+
**Solution:**
66+
67+
- On Hobby and Starter plans: Remove retry configuration for groups containing uptime monitors
68+
- On Team plans: Limit retries to 1 for groups containing uptime monitors
69+
- Alternatively, separate uptime monitors into a different group
70+
- Upgrade to Enterprise plan
71+
72+
### Location and Private Location Restrictions
73+
74+
**Error:** "Some of the selected locations are not available on your current plan."
75+
76+
**Solution:**
77+
78+
- Ensure you're only using locations available on your plan tier
79+
- Upgrade to Team or Enterprise plan
80+
81+
**Error:** "Private locations are not supported on your current plan."
82+
83+
**Solution:**
84+
85+
- Upgrade to Team or Enterprise plan
86+
87+
## Resolving Validation Errors
88+
89+
### For New Groups
90+
91+
When creating a new group, validation occurs in real-time. If you encounter errors:
92+
93+
1. [**Check your plan tier**](https://app.checklyhq.com/settings/account/billing) and review the [supported features table](/docs/groups/troubleshoot/#affected-properties-by-plan-tier) above
94+
2. **Consider the check types** you plan to add to the group
95+
3. **Adjust group settings** to match the lowest common denominator of supported features
96+
4. **Separate check types** into different groups if you need advanced features for synthetic checks
97+
98+
### For Existing Groups
99+
100+
Existing groups that have invalid rules will show errors when you attempt to save changes. To resolve these issues:
101+
102+
1. **Review the specific error message** to identify the conflicting setting
103+
2. **Update group configuration** to use only supported features for your plan and check types
104+
3. **Move checks to separate groups** if you need different configurations for different check types
105+
106+
> [!WARNING]
107+
> When downgrading your plan (e.g., from Team to Starter), existing groups with advanced features will show validation errors. You'll need to update the group configuration to match your new plan's limitations before you can save any changes.
108+
109+
## API Check Defaults
110+
111+
API check defaults defined at the group level (including request config, assertions, and setup/teardown scripts) are only applied to API checks within the group. These settings don't apply to URL monitors, even if some properties like base URL or status code assertions could technically be used.
112+
113+
If you need similar defaults for URL monitors, consider creating separate groups or configure these settings individually at the check level.
114+
115+
## Best Practices
116+
117+
To avoid validation issues:
118+
119+
- **Plan your group structure** based on check types and required features
120+
- **Use separate groups** for uptime monitors and synthetic checks if you need advanced features
121+
- **Start with basic configurations** and add advanced features only when all checks in the group support them
122+
- **Review plan limitations** before configuring group overrides
123+
- **Test group settings** with a single check before adding multiple checks to the group

0 commit comments

Comments
 (0)