Scheduled Builds Interface Should Support a GUI (and/or Quartz Format)

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Problem to solve

GitLab build scheduler does not like expressions like "0 0 0 ? * 3#3 *" (1am third Tuesday of each month) from this cron expression builder : https://www.freeformatter.com/cron-expression-generator-quartz.html#crongenerator

Eventually someone helped me get this '0 0 * * 2#3' which seems to make GitLab happy and calculate an appropriate date - but I have to wait a long time for verification and remember to check it.

Most cron expression builders seem to be outputting Quartz format and since GitLab does not have a GUI for specifying scheduling, it seems prudent that it would support the most popular format from the third party GUI helpers.

Even for experienced Linux folks, cron schedules are like regexs in how much time they can eat trying to get it right - the schedule field in GitLab is free form which causes GitLab Build Schedules to inherit this productivity challenge.

Manual cron formats border on being inhumane ;)

Intended users

  • Delaney (Development Team Lead)
  • Sasha (Software Developer)
  • Devon (DevOps Engineer)
  • Sidney (Systems Administrator)

Further details

Much more productive and predictable experience in setting up build schedules. Eliminate trial and error with schedule strings.

Proposal

Minimum: Support Quartz format / engine with on-page links to a known compatible expression generator.

Better: Create a GUI for this.

Permissions and Security

Existing permissions model seems fine.

Documentation

  1. Update sample mask from "* * * * *"
  2. Document new capability
  3. If adding a GUI - document GUI. Maybe make the GUI a button to the side of the freeform field so that the new way works in tandem with old docs?

Testing

  • If implementing quartz format means a new scheduling engine - ensure existing schedule engine tests are updated. Quartz format support may not be needed if a GUI was built in.

What does success look like, and how can we measure that?

  • For a built in GUI: someone unfamiliar with cron syntax (and unfamiliar with the fact there are expression builders) can be confident in setting a build schedule - the very first time they try to do it.
  • For non-GUI, but Quartz format: someone unfamiliar with cron syntax can click a link next to the cron field and go to a known compatible expression builder and use the resultant string directly in the GUI. At a minimum, GitLab accepts what current cron expression builders are producing.
  • accurate job scheduling is something that already causes stress - seems like the GUI should help out where it can.

What is the type of buyer?

  • Everyone?

Links / references

Edited Aug 28, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading