Repository navigation
docs(java): Document Quartz monitor config upsert - #19777
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A JDBC job store with useProperties only accepts String values. Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
wedamija
marked this pull request as ready for review
October 5, 2026 23:38
wedamija
requested review from
0xadam-brown,
adinauer,
markushi,
romtsn and
runningcode
October 5, 2026 23:38
Contributor
|
Services awaiting deployment · Rollout details Warning Rollouts can't watch this change after it deploys: every data source for this team needs to be signed in again, so a check has no telemetry to read. Sign in to your data sources, or ask a team admin to.
Mention |
Co-Authored-By: Claude <noreply@anthropic.com>
coolguyzone
reviewed
Oct 7, 2026
|
|
||
| ## Monitor Config | ||
|
|
||
| From the next Sentry Java SDK release (after `8.59.0`), `SentryJobListener` sends a monitor config derived from the job's trigger with each check-in, so Sentry creates the monitor (or updates its schedule) from your code. This is on by default for every job that has a monitor slug. |
Contributor
There was a problem hiding this comment.
Suggested change
| From the next Sentry Java SDK release (after `8.59.0`), `SentryJobListener` sends a monitor config derived from the job's trigger with each check-in, so Sentry creates the monitor (or updates its schedule) from your code. This is on by default for every job that has a monitor slug. | |
| Starting with Sentry Java SDK 8.59.0, `SentryJobListener` now sends a monitor config derived from the job's trigger with each check-in, so Sentry creates the monitor (or updates its schedule) from your code. This is on by default for every job that has a monitor slug. |
coolguyzone
reviewed
Oct 7, 2026
| - `CronTrigger`: the cron expression and the trigger's time zone. The seconds field must be a fixed number, and the year field, if set, must be `*`. | ||
| - `SimpleTrigger` that repeats forever: the repeat interval, if it's a whole number of minutes. | ||
|
|
||
| Other triggers send no monitor config, and neither do triggers with a `Calendar`, jobs with more than one trigger, cron expressions with syntax Sentry doesn't support (such as `15W`, `L-3`, or wrap-around ranges like `FRI-MON`), a step after a day or month name (such as `MON/2`, which Quartz runs every Monday), or time zones that aren't IANA time zone IDs. For these, create the monitor in Sentry first. Whole-hour offsets such as `GMT+2` aren't affected: they're sent as `Etc/GMT-2`. |
Contributor
There was a problem hiding this comment.
Suggested change
| Other triggers send no monitor config, and neither do triggers with a `Calendar`, jobs with more than one trigger, cron expressions with syntax Sentry doesn't support (such as `15W`, `L-3`, or wrap-around ranges like `FRI-MON`), a step after a day or month name (such as `MON/2`, which Quartz runs every Monday), or time zones that aren't IANA time zone IDs. For these, create the monitor in Sentry first. Whole-hour offsets such as `GMT+2` aren't affected: they're sent as `Etc/GMT-2`. | |
| Monitor configuration isn't sent for any of the following: | |
| - Other trigger types | |
| - Triggers with a `Calendar` | |
| - Jobs with multiple triggers | |
| - Cron expressions that use syntax Sentry doesn't support, such as `15W`, `L-3`, or wraparound ranges like `FRI-MON` | |
| - Cron expressions with a step after a day or month name, such as `MON/2` (which Quartz runs every Monday) | |
| - Time zones that aren't IANA time zone IDs, except for whole-hour offsets such as `GMT+2`, which are sent as `Etc/GMT-2` | |
| In these cases, create the monitor in Sentry first. |
coolguyzone
approved these changes
Oct 7, 2026
coolguyzone
left a comment
Contributor
There was a problem hiding this comment.
Added a couple suggestions that I think help with clarity, besides that LGTM!
wedamija
marked this pull request as draft
October 23, 2026 21:12
SentryJobListener sends the trigger's schedule only when sentry-upsert-monitor-config is "true", so existing monitors aren't changed on upgrade.
wedamija
marked this pull request as ready for review
November 11, 2026 17:24
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DESCRIBE YOUR PR
Adds a "Monitor Config" section to the Quartz integration page. With
SentryJobListener.SENTRY_UPSERT_MONITOR_CONFIG_KEYset to"true",SentryJobListenersends a monitor config derived from the job's trigger, so Sentry creates the monitor from code. The section covers how to turn it on, which triggers convert, and what happens to a monitor created in Sentry.SDK PR: getsentry/sentry-java#6216
IS YOUR CHANGE URGENT?
PRE-MERGE CHECKLIST