Jenkins extends 5-field cron with the unique H (hash) operator. H/15 means "every 15 minutes, but at a hashed offset" — useful when many jobs share the same trigger frequency to avoid simultaneous load spikes.
| Expression | What it means | Typical use |
|---|---|---|
H/5 * * * * |
Every 5 minutes (hashed offset) | Spread load across multiple jobs. |
H/15 * * * * |
Every 15 minutes (hashed offset) | Recommended for polling-heavy systems. |
H * * * * |
Hourly at a hashed minute | Avoid stampede at :00. |
H H * * * |
Daily at a hashed time | Off-hours batch jobs. |
H 9 * * 1-5 |
Weekdays ~9 AM (hashed minute) | Business-hours triggers. |
H H * * 0 |
Sundays at hashed time | Weekly maintenance. |
Click any expression to load it into the tool above.
H replaces a fixed value with one computed from the job's hash. So H/15 * * * * in Job A might run at :07, :22, :37, :52 while Job B runs at :03, :18, :33, :48. Both run every 15 minutes, but they don't collide.
Two reasons: (1) Load distribution — if 100 jobs all trigger at 0 * * * *, the master is overwhelmed at :00. With H, they spread across the hour. (2) Better averaging behavior under "skipped runs" scenarios.
Yes: H(0-29)/15 picks a hashed minute between 0 and 29, then runs every 15 minutes from there. Useful when you need a job to run only in a specific window.
It hashes the job's full name. So Job "build-frontend" always gets the same offset, and Job "build-backend" gets a different one. Renaming a job changes its hashed schedule.
Yes — H H * * H means "a random day each week at a random time". Some users find this too unpredictable; most stick to H in minute and hour fields only.