Add paging support to Rootly- incidents datastream#64
Conversation
|
@claude review |
|
Hi @noorulkhan-n - please update the PR description to use one of the templates in the current PR description. |
|
@clarkd updated the description now |
|
@claude review once |
clarkd
left a comment
There was a problem hiding this comment.
Version bump required, but the rest of the change looks good
|
@clarkd version incremented |
🧩 Plugin PR Summary📦 Modified Plugins
📋 Results
🔍 Validation Details✅
|
|
@claude review once |
There was a problem hiding this comment.
All prior feedback addressed (version bump, tags added) — straightforward paging config enhancement.
Extended reasoning...
Overview
This PR adds offset-based paging configuration to the Rootly incidents data stream (page size 200, using the WebAPI paging block with mode: offset and mode: page), bumps the plugin version to 1.0.3, removes the unrecognized modules: [] key, and adds a top-level tags: ["Incidents"] field on the data stream. Only two files are touched: plugins/Rootly/v1/dataStreams/incidents.json and plugins/Rootly/v1/metadata.json.
Security risks
None. This is a declarative JSON config change to an existing data stream — no script execution paths, no auth changes, no new secrets, no URL changes. The Authorization: Bearer {{apiKey}} header is untouched.
Level of scrutiny
Low. This is a small, mechanical config-only change following the established WebAPI paging pattern used elsewhere in the repo. The PR's footprint is two JSON files within one plugin's v1 directory, and the changes are easy to reason about line-by-line from the diff.
Other factors
The author has responded to both of my prior reviews — the version bump (1.0.2 → 1.0.3) was added after my first review, and the tags field was added after my second review. The CI plugin validation also passed and reports a successful deployment. The only outstanding item is a pre-existing nit about the missing docs/README.md and documentation link, which I've explicitly noted is not blocking. Nothing here warrants holding up the merge.
| } | ||
| ], | ||
| "queryArgs": [], | ||
| "modules": [], | ||
| "authMode": "none", | ||
| "baseUrl": "https://api.rootly.com/v1/" | ||
| } |
There was a problem hiding this comment.
🟣 🟣 Pre-existing nit: The Rootly plugin has no docs/README.md and metadata.json only includes a source link — no documentation link. The repo guidelines say links should "typically contain two" (source and documentation), and the documentation link is what powers the "Need help?" panel in the SquaredUp configuration UI (handy for telling users where to obtain a Rootly API key). This predates the PR and is not blocking — entirely optional follow-up, since adding it would mean authoring new documentation content rather than a one-line tweak.
Extended reasoning...
What's missing
plugins/Rootly/v1/ contains metadata.json, ui.json, icon.png, dataStreams/, and cspell.json — no docs/ directory and no README.md anywhere under the plugin. Correspondingly, the links array in metadata.json (lines 30–36 of the file post-PR) contains a single entry with category: source and no entry with category: documentation.
The repo's plugin guidelines describe links as: "Should typically contain two links, one link with category: source linking to the GitHub repository, and another link with category: documentation linking to the markdown documentation in the repository." The documentation link drives the in-product "Need help?" section shown when a user configures the plugin, so absent that link there's no place to surface guidance like "where do I get a Rootly API key?".
Why this is pre-existing and unrelated to the PR's purpose
The PR's purpose is adding offset-based paging to the incidents data stream. Its metadata.json edits are limited to (a) bumping the version 1.0.2 → 1.0.3 and (b) removing the unrecognized modules: [] key. The links array is untouched, and the PR description marks "No documentation changes needed". The docs gap existed when the plugin first shipped at v1.0.2.
Addressing the counter-arguments
A fair counter is that the guideline says "typically", not must, and Rootly isn't the only community WebAPI plugin without a documentation link — a handful of others (e.g. Phare, Postcoder) are in the same state. So this isn't a hard requirement, and the original framing of "all 18 other plugins follow this convention" was overstated. Another fair counter is that fixing this means authoring a brand-new README (API-key setup, UI fields, etc.) — that's more substantive than the previously-flagged drive-bys (version bump, tags field), and arguably scope creep for a paging PR.
Why mention it anyway
The majority of community WebAPI plugins (NinjaOne, Checkly, UptimeRobot, Huntress, Microsoft Defender, DigiCert, Google Sheets, AutoTask, DattoRMM, etc. — 14+ of them) do ship a docs/README.md and link to it, so the convention is the prevailing pattern even if not universal. Flagging it here gives the author an explicit chance to either add a short README in a follow-up PR or knowingly defer. Severity: pre_existing — definitely not blocking this PR.
Step-by-step proof
ls plugins/Rootly/v1/→cspell.json dataStreams icon.png metadata.json ui.json(nodocs/, noREADME.md).- Inspect
plugins/Rootly/v1/metadata.jsonlinksarray → one entry,category: source. Nodocumentationentry. git show 656e4fa:plugins/Rootly/v1/metadata.json→ original v1.0.2 commit had the same single-linklinksarray, confirming this predates this PR.- Spot-check a similar community plugin, e.g.
plugins/NinjaOne/v1/metadata.json→linkshas two entries (source + documentation) and the plugin shipsdocs/README.md.
Possible fix (optional)
Add plugins/Rootly/v1/docs/README.md with a short overview, how to obtain a Rootly API key, and notes on the timestampField UI option. Then add a second entry to the links array in metadata.json:
{
"category": "documentation",
"url": "https://github.com/squaredup/plugins/blob/main/plugins/Rootly/v1/docs/README.md",
"label": "Documentation"
}Equally reasonable to skip and address in a dedicated documentation PR.
There was a problem hiding this comment.
Optional add here if you like @noorulkhan-n but not required for this PR.
📋 Summary
🧩 Plugin details
Plugin name:
Type of change:
📚 Documentation
✅ Checklist