You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 808e7db
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: en/developer/cli.mdx
+29-2Lines changed: 29 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -595,6 +595,33 @@ Core fields for `datasource-create` / `datasource-update`:
595
595
-`kafka`: `sasl_mechanism` (`none` default / `plain` / `scram-sha-256` / `scram-sha-512`, the latter three require username and password), `username` / `password`, `timeout_ms` (default 5000), TLS fields (`tls_min_version` defaults to 1.2, max 1.3).
596
596
- Passwords and `kafka.tls_key` support `${env:NAME}` references (resolved on the edge); literal values are omitted from responses, only `${env:...}` references are echoed. **On update, omit those fields to preserve stored secrets; explicitly send an empty string to clear**.
597
597
598
+
#### Dashboards and rule folders (dashboard-* / folder-list)
599
+
600
+
The `monit dashboard-*` family manages monitor dashboards (provided by generated OpenAPI commands). A dashboard is a `dashboard.v1` document: pass the `definition` in `--data` when creating or updating. `update`, `delete`, `move`, and `restore` all require `--expected-revision` — if the revision you send is not the current one, the call is rejected with `DashboardRevisionConflict`, so re-read and submit again.
601
+
602
+
```bash
603
+
flashduty monit folder-list # List every monitor rule folder, to get a folder-id (top-level array, use jq '.[]')
604
+
flashduty monit dashboard-list <folder-id># List the dashboards in one folder (paged envelope, use jq '.items[]')
605
+
flashduty monit dashboard-search --query "payments"# Search dashboards by title and description (at least one word)
606
+
flashduty monit dashboard-get <dashboard-id># Read a dashboard, including its definition and current revision
607
+
flashduty monit dashboard-outline <dashboard-id># Read the tab / section / panel outline; --target-id keeps only the branch holding it
608
+
flashduty monit dashboard-create [flags] # Create: --dashboard-id (UUIDv7), --folder-id, --schema-version, and the definition in --data
609
+
flashduty monit dashboard-update <dashboard-id> [flags] # Update, with --message for a revision note
610
+
flashduty monit dashboard-move [flags] # Move to another folder without touching the definition
611
+
flashduty monit dashboard-delete <dashboard-id> [flags] # Delete: moves the dashboard to the trash, it is not removed outright
612
+
flashduty monit dashboard-trash-list # List trashed dashboards (kept for 30 days)
613
+
flashduty monit dashboard-restore <dashboard-id> [flags] # Restore from the trash; omit --folder-id to restore to the original folder, which must be passed explicitly when that folder is no longer writable
614
+
flashduty monit dashboard-revisions-list <dashboard-id># List the revision history
615
+
flashduty monit dashboard-revisions-get <dashboard-id> --revision <n># Read the definition stored at one revision
616
+
flashduty monit dashboard-panel-run [flags] # Run a single panel: --dashboard-id, --panel-id; time and variables go in --data
617
+
flashduty monit dashboard-panel-preview # Preview a draft panel that has not been saved
618
+
flashduty monit dashboard-runtime-variables-resolve <dashboard-id># Resolve dashboard variables (candidates and the effective selection)
flashduty monit dashboard-runtime-queries-resolve <panel-id> [<id2>...] # Resolve panel queries: expressions with variables substituted, and the bound datasource
621
+
```
622
+
623
+
Panel runtime and variable resolution take their time window and variable selections as JSON objects in `--data` (time uses millisecond `from_ms` / `to_ms` timestamps). `dashboard-panel-preview` and `dashboard-runtime-variables-preview` need a `context`: `kind: existing` with a `dashboard_id` targets a stored dashboard, `kind: new` with a `folder_id` targets a folder that does not hold one yet.
`GET /monit/prometheus/api/v1/label/{label_name}/values` (operationId `monit-prometheus-read-label-values`) carries a path parameter, so it is excluded from code generation and provided by a hand-written command. The command name follows the generated path-derived naming (the `monit` group plus the remaining path segments joined by hyphens), so it shows up under `flashduty monit --help` but cannot be guessed intuitively — use it as written here:
@@ -691,14 +718,14 @@ In `json`/`toon` mode the rows default to the compact fields `incident_id`, `tit
691
718
692
719
### Full command coverage
693
720
694
-
Beyond the curated commands above, the CLI now provides **full coverage** of the Flashduty OpenAPI through a spec-driven code generator. The OpenAPI spec the generator reads contains **338 API operations**, and the CLI generates resource-organized commands for **334** of them; the remaining four are provided by hand-written commands — the streaming export `session-read-export` (`session export`), the multipart uploads `mapping-data-write-upload` and `skill-write-upload` (`enrichment mapping-data-upload`, `safari skill-upload`), and the path-parameterized `monit-prometheus-read-label-values` (`monit prometheus-api-v1-label-{label_name}-values`, see "Query Prometheus label values" below) — and are organized into top-level command groups alongside the generated ones. In addition to the On-call domain (incident, incident-trigger-subscription, change, channel, field, status-page, template, and more), it also covers:
721
+
Beyond the curated commands above, the CLI now provides **full coverage** of the Flashduty OpenAPI through a spec-driven code generator. The OpenAPI spec the generator reads contains **365 API operations**, and the CLI generates resource-organized commands for **361** of them; the remaining four are provided by hand-written commands — the streaming export `session-read-export` (`session export`), the multipart uploads `mapping-data-write-upload` and `skill-write-upload` (`enrichment mapping-data-upload`, `safari skill-upload`), and the path-parameterized `monit-prometheus-read-label-values` (`monit prometheus-api-v1-label-{label_name}-values`, see "Query Prometheus label values" below) — and are organized into top-level command groups alongside the generated ones. In addition to the On-call domain (incident, incident-trigger-subscription, change, channel, field, status-page, template, and more), it also covers:
695
722
696
723
-**AI SRE (`safari`)**: a2a-agents, artifacts, automations, knowledge, mcp-servers, sessions, skills, and more
-**Integrations & webhooks**: datasource (IM integrations), integration (create, read, update, delete and key-rotation for alert- and change-source integrations), webhook (integrations)
702
729
703
730
These generated leaf commands use a `resource-action` naming form (e.g. `flashduty safari a2a-agent-get`, `flashduty safari session-list`); their inputs and response fields map directly to the corresponding API. Explore them level by level with `flashduty <resource> --help`:
Copy file name to clipboardExpand all lines: en/on-call/comparison/vs-pagerduty.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -230,7 +230,7 @@ Before reaching the team, alerts pass through routing, filtering, and transforma
230
230
| Tool | Flashduty | PagerDuty |
231
231
| --- | --- | --- |
232
232
|**[Open API](/en/openapi/api-catalog)**| 330+ endpoints covering On-call, Monitors, RUM, AI SRE, and platform management, with bilingual docs | ✅ Full-featured REST API, mature documentation |
233
-
|**[CLI](/en/developer/cli)**|334 generated API operation commands (plus four hand-written ones) + built-in Agent Skills, ready to hand directly to AI coding tools like Claude Code, Cursor, and Codex | No official CLI actively promoted: the community's most-used `pagerduty-cli` is an employee's personal project (officially not endorsed, and the author has announced it's archived); the official go-pagerduty library ships a limited `pd` command-line tool |
233
+
|**[CLI](/en/developer/cli)**|361 generated API operation commands (plus four hand-written ones) + built-in Agent Skills, ready to hand directly to AI coding tools like Claude Code, Cursor, and Codex | No official CLI actively promoted: the community's most-used `pagerduty-cli` is an employee's personal project (officially not endorsed, and the author has announced it's archived); the official go-pagerduty library ships a limited `pd` command-line tool |
234
234
|**SDK**|[Go SDK](/en/developer/go-sdk): a go-github-style wrapper covering 330+ API operations across 39 services | PagerDuty officially maintains go-pagerduty, python-pagerduty, and other client libraries |
235
235
|**[Terraform Provider](/en/developer/terraform)**| 12 resource types + 13 data source types, managing collaboration spaces, escalation policies, schedules, and more as IaC | ✅ Official Terraform Provider, mature ecosystem |
236
236
|**[MCP Server](/en/developer/mcp-server)**| 8 tool sets with 23 tools, deployable remotely, via Docker, or from source | ✅ Official MCP Server |
Copy file name to clipboardExpand all lines: en/on-call/configuration/personal-settings.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -166,7 +166,7 @@ When creating or editing an APP Key, choose its mode under **Permission Scope**.
166
166
| Platform | Download Method |
167
167
| --- | --- |
168
168
|**iOS**| Search "Flashduty" in App Store |
169
-
|**Android**| Available on major app stores including Xiaomi, Huawei, Honor, OPPO, and vivo — search "Flashduty" to download (Harmony OS not currently supported) |
169
+
|**Android**| Available on major app stores including Huawei, Honor, OPPO, and vivo — search "Flashduty" to download (Harmony OS not currently supported) |
170
170
171
171
If your phone brand is not listed above, you can click **Download here** on the APP management page to get an installation package QR code. Scan it with your phone to download.
0 commit comments