* Cron Dialect

Jenkins Pipeline Cron


* Quick Answer

Jenkins extends the standard 5-field cron syntax with the H (hash) symbol, which distributes scheduled jobs across available time slots based on a hash of the job name. This prevents the 'thundering herd' problem where hundreds of jobs all fire at minute 0 simultaneously, overloading CI infrastructure. Jenkins also supports human-readable aliases like @daily and @weekly.

Field Reference

This dialect uses 5 fields. Fields are listed left to right as they appear in the expression.

Position Field Range Special Chars Notes
1 Minute 0–59 or H * , - / H H picks a consistent pseudo-random minute based on job name hash. H/15 = every 15 min at hash offset.
2 Hour 0–23 or H * , - / H H(0-7) constrains the hash to the range 0–7 (overnight hours).
3 Day of Month 1–31 or H * , - / H
4 Month 1–12 * , - / H not typically used in month field.
5 Day of Week 0–7 * , - / 0 and 7 both = Sunday. Named values SUN–SAT accepted.

Special Characters

The H (hash) symbol is Jenkins's key innovation. Rather than a fixed value, H evaluates to a consistent integer derived from the Jenkins job name. This means every job gets its own offset, spreading load across the cluster. H can appear anywhere a number is valid. H/15 means 'every 15 minutes starting at a hash-determined offset' — not necessarily :00, :15, :30, :45. A range constraint like H(0-29) limits the hash to the first half of the hour. Standard special characters (*, ,, -, /) work identically to POSIX cron.

Examples

Partner UptimeRobot

Keep this cron job monitored 24/7

UptimeRobot alerts you the moment a scheduled job stops responding. Free plan monitors up to 50 endpoints — no credit card required.

Common Gotchas

H is not portable — it only works in Jenkins

H is a Jenkins-specific extension. It has no meaning in standard cron, crontab, Quartz, or AWS EventBridge. If you copy a Jenkins cron expression into another system, replace H with a specific number. Using H outside Jenkins will cause an invalid expression error or unpredictable behaviour.

H/15 does not mean :00, :15, :30, :45

A common misconception is that H/15 aligns to quarter-hour boundaries. It does not. If H resolves to 7 for a given job, H/15 fires at :07, :22, :37, :52 — consistently for that job, but not on the standard quarter-hour marks. This is intentional: it distributes load away from the :00 and :30 marks.

@aliases are Jenkins-only shortcuts

@midnight, @hourly, @daily, @weekly, @monthly, and @annually are Jenkins convenience aliases. @midnight does not mean 0:00 exactly — it means a hash-distributed time between midnight and 2:59 AM. These aliases are not available in standard crontab without additional tooling.

H ranges are inclusive: H(0-29) constrains to that range

H(0-29)/10 means 'every 10 minutes, within the first half of the hour, at a hash-offset'. The range limits where the hash can land, not the step frequency. This is useful for constraining nightly builds to the first few hours of the night.

Porting from Standard Cron

Jenkins uses the same 5-field format and DOW numbering as standard POSIX cron. The only addition is H. To port a Jenkins expression to standard cron, replace each H with a specific number (e.g. H becomes 0 or a chosen minute). To port from @aliases, @midnight = 0 0 * * *, @weekly = 0 0 * * 0, @monthly = 0 0 1 * *.

How This Dialect Differs from Standard Cron

Jenkins uses the same 5-field structure as standard cron but introduces the H (hash) keyword, which distributes job start times pseudo-randomly within a range to prevent thundering-herd load spikes. H can replace any numeric value or range: H * * * * means once per hour at a hash-stable minute, and H/15 * * * * means every 15 minutes offset by a hash. The hash is derived from the job name, so each job gets a consistent but different offset. Standard cron cannot express this load-balancing behaviour.

Aspect Standard Cron Jenkins
Field count 5 fields 5 fields
Seconds precision No No
Year field No No
Special chars beyond * , - / None H
DOM / DOW conflict rule OR combination OR combination

Other Dialects