Overview
This project creates a seamless connection between Rootly and Glean, enabling users to search for:- Incidents - Active and resolved incidents with severity, status, and timeline data
- Alerts - Alert configurations and monitoring rules
- Schedules - On-call schedules with rotations, shifts, and user assignments
- Escalation Policies - Links to escalation rules and notification chains
- Retrospectives - Links to post-incident analysis
Quick Start
Requirements
-
Python 3.13+
-
Clone and setup environment:
-
Install dependencies:
-
Get secrets file: Create a
secrets.env
file containing: -
Run the integration:
Configuration
Editconfig.json
to customize:
- Glean API host - Update
glean.api_host
to match your Glean server (default:support-lab-be.glean.com
) - Data type settings (enable/disable incidents, alerts, schedules, escalation policies, retrospectives)
- Item limits and pagination per data type
- Enhanced incident features (timeline events, action items)
- Logging levels and sync intervals
config.json
- Contains non-sensitive configuration settingssecrets.env
- Contains API tokens
Architecture
- data_fetchers/: API clients for each Rootly data type
- document_mappers/: Convert Rootly data to Glean document format
- processors/: Sync coordination and orchestration
- glean_schema/: Glean document definitions
Glean Search Examples
Once synced, search for Rootly data in Glean:Incidents
"Find incidents with timeline events"
"Show incidents with high severity that are resolved"
Schedules & On-Call
"Show latest on-call schedule in rootly"
Alerts & Monitoring
Show latest alerts in Rootly