Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new UptimeRobot plugin that surfaces monitor state, response times, and event logs into SquaredUp using the WebAPI base plugin. It defines the plugin metadata and UI, data streams and scripts for UptimeRobot’s API, import definitions, default scopes, and out-of-the-box dashboards.
Changes:
- Introduces the
UptimeRobotplugin metadata, UI configuration, and icon, wired to the WebAPI base plugin with API key-based access. - Adds data streams and associated transform scripts for monitors, latest states, response times, and event logs, plus an import definition for monitors.
- Provides default scopes and two dashboards (account overview and monitor perspective) to visualize monitor properties, states, downtime, and response times.
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
plugins/UptimeRobot/v2/ui.json |
Defines the plugin configuration UI to capture the UptimeRobot API key. |
plugins/UptimeRobot/v2/metadata.json |
Declares plugin metadata, WebAPI base configuration, links, keywords, and object types for UptimeRobot. |
plugins/UptimeRobot/v2/importDefinitions/default.json |
Configures the default object import step that maps UptimeRobot monitors into SquaredUp objects. |
plugins/UptimeRobot/v2/icon.svg |
Adds the square SVG icon used for the UptimeRobot plugin. |
plugins/UptimeRobot/v2/docs/README.md |
Provides setup documentation for obtaining and supplying the UptimeRobot read-only API key. |
plugins/UptimeRobot/v2/defaultContent/scopes.json |
Defines scopes for UptimeRobot monitors and the corresponding selection variable used by dashboards. |
plugins/UptimeRobot/v2/defaultContent/accountOverview.dash.json |
Adds the “Account Overview” dashboard summarizing monitor counts, states, and down monitors. |
plugins/UptimeRobot/v2/defaultContent/Perspectives/monitor.dash.json |
Adds the “Monitor” perspective dashboard showing latest state, properties, downtime, and response time history for a selected monitor. |
plugins/UptimeRobot/v2/dataStreams/scripts/responseTimes.js |
Flattens UptimeRobot monitor response_times into a row-per-sample data set with monitor labels. |
plugins/UptimeRobot/v2/dataStreams/scripts/monitors.js |
Transforms UptimeRobot monitor data into SquaredUp object rows with links, monitor URL, IDs, and typed source information. |
plugins/UptimeRobot/v2/dataStreams/scripts/latestStates.js |
Maps UptimeRobot monitor status codes to human-readable status/state values and adds dashboard links. |
plugins/UptimeRobot/v2/dataStreams/scripts/eventLogs.js |
Flattens and time-filters UptimeRobot monitor event logs and annotates them with monitor names. |
plugins/UptimeRobot/v2/dataStreams/responseTimes.json |
Configures the scoped HTTP data stream for monitor response times with paging and metadata. |
plugins/UptimeRobot/v2/dataStreams/monitors.json |
Configures the unscoped HTTP data stream for basic monitor discovery and object import. |
plugins/UptimeRobot/v2/dataStreams/latestStates.json |
Configures the scoped HTTP data stream for latest monitor states and their display metadata. |
plugins/UptimeRobot/v2/dataStreams/eventLogs.json |
Configures the scoped HTTP data stream for monitor event logs, including duration, reason code, and details. |
| "type": "password", | ||
| "name": "apiKey", | ||
| "label": "API key", | ||
| "help": "Provide an API key for your UptimeRobot account", |
There was a problem hiding this comment.
The help text here is both redundant with the field label and uses conversational wording (including "your"), which goes against the UI text guidelines for plugin configuration fields. Consider rephrasing this to a short, neutral description that adds extra value (for example, noting that a read‑only key is preferred or linking to generation docs) and avoid using "you"/"your" phrasing.
| "help": "Provide an API key for your UptimeRobot account", | |
| "help": "Read-only UptimeRobot API key (recommended)", |
🔌 Plugin overview
🖼️ Plugin screenshots
Plugin configuration
Default dashboards
🧪 Testing
N/A
N/A
📚 Checklist