Skip to content

feat: add Cronitor cron job and uptime monitoring provider#6339

Open
selenaalpha77-sketch wants to merge 1 commit intokeephq:mainfrom
selenaalpha77-sketch:feat/cronitor-provider
Open

feat: add Cronitor cron job and uptime monitoring provider#6339
selenaalpha77-sketch wants to merge 1 commit intokeephq:mainfrom
selenaalpha77-sketch:feat/cronitor-provider

Conversation

@selenaalpha77-sketch
Copy link
Copy Markdown

Summary

Adds a new provider for Cronitor, a monitoring platform for cron jobs, heartbeats, scheduled tasks, and uptime checks. Cronitor is widely used by engineering teams to ensure background jobs and scheduled tasks run on time.

  • Pull failing monitors from the Cronitor REST API (HTTP Basic Auth with API key)
  • Receive real-time webhook notifications when jobs fail, miss their schedule, or recover
  • Support all Cronitor monitor types: job, heartbeat, and uptime monitors
  • Map Cronitor monitor states (failing, degraded, healthy, paused) to Keep severities and statuses
  • Map Cronitor webhook event types (monitor.failure, monitor.recovery, heartbeat.missed) to Keep alert statuses
  • Filter monitors by environment via optional environment config parameter
  • Full alerts_mock.py for webhook payload testing
  • MDX documentation with setup for both webhook and pull modes

Provider files

  • keep/providers/cronitor_provider/cronitor_provider.py
  • keep/providers/cronitor_provider/__init__.py
  • keep/providers/cronitor_provider/alerts_mock.py
  • docs/providers/documentation/cronitor-provider.mdx

Test plan

  • Configure provider with a valid Cronitor API key and verify validate_scopes returns read_monitors: True
  • Verify _get_alerts() returns failing monitors with correct severity/status mapping
  • Verify environment filter works when environment config is set
  • Send a test webhook payload matching alerts_mock.py and verify _format_alert produces a correct AlertDto
  • Verify pagination works correctly for accounts with more than 100 monitors

🤖 Generated with Claude Code

Adds a new provider for Cronitor.io, a monitoring platform for cron jobs,
heartbeats, background workers, and uptime checks.

- Pull failing monitors from the Cronitor REST API (Basic Auth)
- Receive real-time webhook notifications for job failures and recoveries
- Map Cronitor monitor states and event types to Keep severities/statuses
- Full alerts_mock.py for webhook testing
- MDX documentation with setup instructions for both webhook and pull modes
@dosubot dosubot Bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Apr 26, 2026
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


evan seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions
Copy link
Copy Markdown
Contributor

No linked issues found. Please add the corresponding issues in the pull request description.
Use GitHub automation to close the issue when a PR is merged

@dosubot dosubot Bot added Documentation Improvements or additions to documentation Feature A new feature Provider Providers related issues labels Apr 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Documentation Improvements or additions to documentation Feature A new feature Provider Providers related issues size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants