Validate schedules in CI
Add tessl schedule validation to your continuous integration workflow.
Add tessl schedule validate to your CI workflow to catch errors in the schedules block of tessl.json before a change is merged. This is a manual setup: add the step to your own CI configuration.
What it checks
The command reads tessl.json and validates the file without connecting to a Tessl workspace. It checks:
The shape of the
schedulesblock and each schedule entry.Schedule field names, including required fields and the rule that each entry uses either
cronorschedule, but not both.Field types, including structured schedule values and string-only input values.
Cron syntax and supported human-readable or structured schedule forms.
The minimum interval between runs, which is five minutes.
The command reports every problem it finds and exits with a non-zero status when the file is invalid. CI uses that status to fail the check.
What it does not check
This command validates the file only. It does not check server-side resources or workspace limits, including:
Whether the named environment exists or contains the required secrets.
Whether the referenced skill or plugin is installed and available to the workspace.
Whether the workspace has capacity for another active schedule.
Those checks happen when Tessl syncs the file for a project and workspace.
GitHub Actions
The following workflow installs the Tessl CLI and runs the validator on pull requests that change tessl.json:
The validation step does not need a Tessl token because it checks the local file. The CLI's non-zero exit status fails the GitHub Actions job when a schedule is invalid.
File checks and server checks
This check catches file-level issues before merge, such as a misspelled field, an invalid cron expression, or a schedule that runs too often. After a valid file is merged and synced, Tessl performs server-side checks. For example, a nonexistent environment can still cause a validation error on the project's Schedules page after sync.
For the full schedule format, see Schedules.
Last updated

