Skip to content

@SentryCheckIn on @Scheduled methods should support monitor upsert via cron expression #5467

@moduly-solutions-slechner

Description

Integration

sentry

Java Version

21

Other Error Monitoring Solution

No

Other Error Monitoring Solution Name

No response

Version

8.41.0 (sentry-spring-boot-4, sentry-spring-7)

Steps to Reproduce

I am using Spring Boot: 4.0.6

  1. Annotate a @scheduled method with @SentryCheckIn("my-monitor-slug") — do not pre-create the monitor in Sentry
  2. Deploy and run the application
  3. The scheduled method fires and a check-in is sent

Expected Result

Since the method is already annotated with @scheduled(cron = "0 0 4 * * *", zone = "Europe/Berlin"), the Spring integration has all the information needed to auto-create (upsert) the monitor on first check-in. The 6-field Spring cron should be converted to the 5-field Sentry cron format and included in the check-in payload as a MonitorConfig.

Actual Result

Check-ins fail with the following error in Sentry:

A check-in was sent for a monitor that does not exist.
If you meant to create a new monitor via upsert, please provide
a valid monitor configuration in the check-in payload.

Additionally, even when creating the monitor manually in the Sentry UI, the cron expression cannot be copied directly from @scheduled — Spring uses a 6-field cron format (prepended seconds field, e.g. 0 0 4 * * *) while Sentry only accepts the standard 5-field Unix cron format (e.g. 0 4 * * *). This is an undocumented mismatch that requires the developer to know about and manually convert the expression.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for issues without a type.

    Projects

    Status

    Waiting for: Product Owner

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions