Home › Convert › GitHub Actions to Spring
Convert GitHub Actions cron to Spring
GitHub Actions expressions look similar to Spring, but the differences matter. Paste yours below; the result is checked against the original run times.
What changes from GitHub Actions to Spring
- Spring has a leading seconds field. The converter adds
0in front so the job fires at the start of the minute. - GitHub Actions runs when day-of-month or day-of-week matches, but Spring requires both. If you set both fields, the converter warns you.
Worked examples
| Schedule | GitHub Actions | Spring |
|---|---|---|
| every 5 minutes | */5 * * * * | 0 */5 * * * * |
| every 10 minutes | */10 * * * * | 0 */10 * * * * |
| every 15 minutes | */15 * * * * | 0 */15 * * * * |
| every 30 minutes | */30 * * * * | 0 */30 * * * * |
| every hour | 0 * * * * | 0 0 * * * * |
| every 2 hours | 0 */2 * * * | 0 0 */2 * * * |
| every 3 hours | 0 */3 * * * | 0 0 */3 * * * |
| every 6 hours | 0 */6 * * * | 0 0 */6 * * * |
Field layout and time zones
minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-6, 0 = Sunday).
GitHub Actions schedules are always UTC. Convert your local time to UTC before writing the expression.
second (0-59), minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-7, 0 and 7 = Sunday).
Spring evaluates in the server time zone by default. Add zone = "UTC" (or any ZoneId) to @Scheduled to make it explicit.
Go the other way
Convert Spring to GitHub Actions, or open the GitHub Actions builder or the Spring builder.
Frequently asked questions
How do I convert a GitHub Actions cron expression to Spring?
Paste it into the converter above with GitHub Actions as the source and Spring as the target. For example, */5 * * * * becomes 0 */5 * * * *.
Is every GitHub Actions expression convertible to Spring?
Yes for the common schedules we tested (26 of 26), though unusual expressions with special characters might need manual review.
Does Spring run in the same time zone as GitHub Actions?
Not necessarily. Conversion changes the syntax, not the time zone. Check where each system evaluates the schedule before you rely on the same clock times.