Skip to content

feat(incidentio): add incident.io data source plugin - #9023

Merged
klesh merged 1 commit into
apache:mainfrom
serroba:incidentio-plugin
Jul 30, 2026
Merged

feat(incidentio): add incident.io data source plugin#9023
klesh merged 1 commit into
apache:mainfrom
serroba:incidentio-plugin

Conversation

@serroba

@serroba serroba commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a datasource plugin for incident.io, an incident management platform (same category as the existing PagerDuty/Opsgenie/Rootly plugins). Closes #9018.

  • Connection: Bearer-token auth against https://api.incident.io/
  • Scopes: incident types (v1/incident_types), with remote-scope listing
  • Collection: incidents via v2/incidents (cursor pagination); test/tutorial mode incidents excluded at extraction
  • Conversion: ticket-domain issues with type INCIDENT, feeding the existing DORA incident↔deployment correlation; Declared at → created date, Resolved at (fallback Closed at) → resolution date; retrospective incidents keep their resolution date even when it precedes declaration
  • Includes unit tests, e2e snapshot tests, config-ui registration (placeholder icon, not the brand mark), and a Grafana dashboard adapted from Rootly's

Testing

Beyond the unit/e2e suites, the plugin was validated end-to-end against a production incident.io workspace using the in-memory test server from DevelopmentManual.md: 50 real incidents collected, extracted, and converted with field-level verification against independently ingested reference data. That testing surfaced (and this PR includes fixes for) the v1-vs-v2 incident_types endpoint and the retrospective-incident timestamp ordering.

Other information

Docs for Configuration/Incidentio will need a companion PR to the website repo — happy to follow up with it.

Adds a datasource plugin for incident.io (https://incident.io), an incident
management platform, following the structure of the rootly plugin:

- Connection with Bearer-token auth against https://api.incident.io/
- Scopes are incident types (v1/incident_types); remote-scope listing included
- Collects incidents (v2/incidents, cursor pagination), extracts to
  _tool_incidentio_* tables (test/tutorial-mode incidents excluded), converts
  to ticket domain issues with type INCIDENT for DORA CFR/MTTR correlation
- Timestamps mapped from incident_timestamp_values: 'Declared at' drives the
  created date, 'Resolved at' (falling back to 'Closed at') the resolution
  date; retrospective incidents keep their resolution date even when it
  precedes the declaration
- Unit tests, e2e snapshot tests, config-ui registration, Grafana dashboard

Validated end-to-end against a production incident.io workspace via the
in-memory test server (50 incidents, field-level match with reference data).

Closes apache#9018

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 30, 2026 02:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@klesh klesh left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM.
Thanks for your contribution.

@klesh
klesh merged commit 0194a41 into apache:main Jul 30, 2026
11 checks passed
klesh pushed a commit to apache/devlake-website that referenced this pull request Jul 31, 2026
Companion to apache/devlake#9023 (feat(incidentio): add incident.io data
source plugin): adds the Configuration/Incidentio page referenced by the
plugin's config-ui DOC_URL, and lists incident.io in the supported data
sources table.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature][Plugin] incident.io integration

3 participants