Jenkins Job Scheduling Syntax
First, let’s look at the Jenkins job scheduling configuration. It looks a lot like Linux’s cron syntax, but you don’t have to be familiar with command line Linux to figure it out.
A scheduling entry consists of five whitespace-separated fields. You can schedule a job for more than one time by adding more than one entry.
Screenshot
Each field can contain an exact value or use a set of special expressions:
The familiar asterisk * indicates all valid values. So, a job that runs every day has a * in the third field.
A dash separates ranges of values. For example, a job that runs every hour from 9:00 a.m. to 5:00 p.m. would have 9-17 in the second field.
Intervals are specified with a slash /. A job that runs every 15 minutes has H/15 in the first field. Note that the H in the first field has a special meaning. If you wanted a job to run every 15 minutes, you could configure it as 0/15, which would make it run at the start of every hour. However, if you configure too many jobs this way, you can overload your Jenkins controller. Ultimately, the H tells Jenkins to pick a minute based on a hash of the job name.
Finally, you can specify multiple values with a comma. So, a job that runs Monday, Wednesday, and Friday would have 1,3,5 in the fifth field.
Jenkins provides a few examples in their help section for scheduling.
Every fifteen minutes (perhaps at :07, :22, :37, :52):
H/15 * * * *
Every ten minutes in the first half of every hour (three times,
perhaps at :04, :14, :24):
H(0-29)/10 * * * *
Once every two hours at 45 minutes past the hour starting at 9:45 AM
and finishing at 3:45 PM every weekday:
45 9-16/2 * * 1-5
Once in every two hour slot between 8 AM and 4 PM every weekday
(perhaps at 9:38 AM, 11:38 AM, 1:38 PM, 3:38 PM):
H H(8-15)/2 * * 1-5
Once a day on the 1st and 15th of every month except December:
H H 1,15 1-11 *
Jenkins also has a set of aliases that makes using common intervals easier.
Screenshot of table 