Skip to content

feat: Add rootly.onEvent component#3042

Open
devroy10 wants to merge 12 commits intosuperplanehq:mainfrom
devroy10:feat/rootly-on-event
Open

feat: Add rootly.onEvent component#3042
devroy10 wants to merge 12 commits intosuperplanehq:mainfrom
devroy10:feat/rootly-on-event

Conversation

@devroy10
Copy link
Contributor

@devroy10 devroy10 commented Feb 11, 2026

Description

Closes #2820

This PR implements the Rootly On Event trigger so SuperPlane workflows can start on Rootly incident timeline events. It sets up a managed webhook, supports filtering by incident and event attributes, and renders event context clearly in the UI.

Video Demo

rootly-on-event.mp4

Backend Implementation

  • Added rootly.onEvent trigger with webhook setup and signature verification.
  • Parses Rootly webhook payloads and emits rootly.onEvent with incident + event context.
  • Supports filtering by incident status, severity, service, and team and visibility,
  • Handles webhook sharing by merging requested event types and comparing configs via superset logic.

Frontend Implementation

  • Added Rootly On Event renderer with timeline event title/subtitle and metadata badges.
  • Displays event + incident details in the root event view.
  • Uses Rootly icon/color styling for consistency in trigger cards.

Documentation

  • Auto-generated component documentation via relevant make command

Checklist

  • Tests (existing + new component) pass
  • Code compiles without errors
  • Signed-off commits
  • Example output JSON (if required)
  • Updated component documentation
  • Attached video of component working

Signed-off-by: devroy10 <roychinwuba@gmail.com>
Signed-off-by: devroy10 <roychinwuba@gmail.com>
@devroy10
Copy link
Contributor Author

@AleksandarCole Video demo added, ready for review
Decided to work on this one as a natural follow up after rootly.createEvent was merged

@devroy10
Copy link
Contributor Author

@AleksandarCole soft ping on this for review

@AleksandarCole
Copy link
Collaborator

AleksandarCole commented Feb 12, 2026

@devroy10 thanks for trying this one. The component does not seem to be working. Please check the attached video:

Kapture.2026-02-12.at.10.41.41.mp4

Additionally, the event kind and event source settings do not make sense and seem unnecessary.

@AleksandarCole AleksandarCole added bounty This issue has a bounty open pr:stage-1/3 Needs to pass basic review. labels Feb 12, 2026
@devroy10
Copy link
Contributor Author

@devroy10 thanks for trying this one. The component does not seem to be working. Please check the attached video:

Kapture.2026-02-12.at.10.41.41.mp4
Additionally, the event kind and event source settings do not make sense and seem unnecessary.

I'll investigate why
Then, for the configuration settings I'll remove the event kind and event source options

- also removes unnecessary event kinfd and sourcesfrom configuration options

Signed-off-by: devroy10 <roychinwuba@gmail.com>
Signed-off-by: devroy10 <roychinwuba@gmail.com>
Signed-off-by: devroy10 <roychinwuba@gmail.com>
Signed-off-by: devroy10 <roychinwuba@gmail.com>
Signed-off-by: devroy10 <roychinwuba@gmail.com>
Signed-off-by: devroy10 <roychinwuba@gmail.com>
@devroy10 devroy10 force-pushed the feat/rootly-on-event branch from b35633b to 9cc1fdd Compare February 13, 2026 14:01
Signed-off-by: devroy10 <roychinwuba@gmail.com>
Rootly status slugs are inconsistent with the incident_status resource list, particularly the return for staus type In triage.
Rootly `/stauses` endpoint returns `in-triage` meanwhile payloads return `in_triage`.
so onEvent now uses a fixed multi-select list and removes incident_status from list_resources to avoid mismatches.

Signed-off-by: devroy10 <roychinwuba@gmail.com>
Signed-off-by: devroy10 <roychinwuba@gmail.com>
@devroy10 devroy10 force-pushed the feat/rootly-on-event branch from 9d1ecc1 to ed38ac1 Compare February 15, 2026 06:38
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

}

return content || timeAgo;
}
Copy link

Choose a reason for hiding this comment

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

Duplicated buildSubtitle helper across trigger renderers

Low Severity

The buildSubtitle function in on_event.ts is an exact copy of the one in on_incident.ts. A shared, nearly identical version already exists as an exported function in mappers/utils.ts (which accepts string | undefined and trims). This new file adds another copy instead of reusing the existing utility.

Fix in Cursor Fix in Web

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

Labels

bounty This issue has a bounty open pr:stage-1/3 Needs to pass basic review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Rootly] On Event

2 participants