Skip to content

Add paging support to Rootly- incidents datastream#64

Open
noorulkhan-n wants to merge 4 commits into
mainfrom
feature/rootly_paging
Open

Add paging support to Rootly- incidents datastream#64
noorulkhan-n wants to merge 4 commits into
mainfrom
feature/rootly_paging

Conversation

@noorulkhan-n

@noorulkhan-n noorulkhan-n commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

📋 Summary

  • Added offset-based paging support for the incidents datastream.
  • Configured page size and offset handling to retrieve all records across multiple pages.
  • Ensures incident imports continue correctly when API responses exceed a single page.

🧩 Plugin details

  • Plugin name:

  • Type of change:

    • Bug fix
    • New datastream
    • Enhancement to existing datastream
    • Performance improvement
    • Documentation / metadata / logo
    • Other (please describe)

⚠️ Breaking changes

  • No
  • Yes (please describe)

📚 Documentation

  • No documentation changes needed
  • Documentation updated

✅ Checklist

  • No secrets or credentials included
  • Plugin, datastream and UI naming follow SquaredUp guidelines
  • I agree to the Code of Conduct

@noorulkhan-n noorulkhan-n requested a review from a team June 16, 2026 05:59
@noorulkhan-n noorulkhan-n added the enhancement New feature or request label Jun 16, 2026
@clarkd

clarkd commented Jun 17, 2026

Copy link
Copy Markdown
Member

@claude review

@clarkd

clarkd commented Jun 17, 2026

Copy link
Copy Markdown
Member

Hi @noorulkhan-n - please update the PR description to use one of the templates in the current PR description.

@noorulkhan-n

Copy link
Copy Markdown
Contributor Author

@clarkd updated the description now

@clarkd

clarkd commented Jun 17, 2026

Copy link
Copy Markdown
Member

@claude review once

Comment thread plugins/Rootly/v1/metadata.json

@clarkd clarkd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Version bump required, but the rest of the change looks good

@noorulkhan-n

Copy link
Copy Markdown
Contributor Author

@clarkd version incremented

Comment thread plugins/Rootly/v1/dataStreams/incidents.json
@github-actions

Copy link
Copy Markdown

🧩 Plugin PR Summary

📦 Modified Plugins

  • plugins/Rootly/v1

📋 Results

Step Status
Validation ✅ Passed
Deployment 🚀 Deployed

🔍 Validation Details

rootly
{
  "valid": true,
  "pluginName": "rootly",
  "pluginType": "cloud",
  "summary": {
    "Data Streams": 1,
    "Import Definitions": 0,
    "UI Configuration": true,
    "Has Icon": true,
    "Has Default Content": false,
    "Config Validation": false,
    "Custom Types": false
  }
}

@clarkd

clarkd commented Jun 19, 2026

Copy link
Copy Markdown
Member

@claude review once

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines 23 to 28
}
],
"queryArgs": [],
"modules": [],
"authMode": "none",
"baseUrl": "https://api.rootly.com/v1/"
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟣 🟣 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

  1. ls plugins/Rootly/v1/cspell.json dataStreams icon.png metadata.json ui.json (no docs/, no README.md).
  2. Inspect plugins/Rootly/v1/metadata.json links array → one entry, category: source. No documentation entry.
  3. git show 656e4fa:plugins/Rootly/v1/metadata.json → original v1.0.2 commit had the same single-link links array, confirming this predates this PR.
  4. Spot-check a similar community plugin, e.g. plugins/NinjaOne/v1/metadata.jsonlinks has two entries (source + documentation) and the plugin ships docs/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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional add here if you like @noorulkhan-n but not required for this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request plugin: Rootly

Development

Successfully merging this pull request may close these issues.

2 participants