Both return {"name":"valid","value":false} with message CRON Expression ... is not valid.
Expected
valid:true for a well-formed cron expression (Ombi uses NCrontab 6-field format; 0 0 0 * * * is a valid daily-midnight schedule).
Actual
Every expression tested is reported invalid.
Likely cause
The handler POSTs {"expression": "..."} to /api/v1/Settings/testcron. The upstream endpoint may expect a different body shape (e.g. a raw JSON string rather than an object), or a different field name — the rejection message format suggests the expression reached upstream, but a wrong wire shape would produce exactly this result. Needs wire-level verification of the expected request body.
## Summary
`read_server` `cron_validate` reports valid cron expressions as invalid for both 5-field and 6-field syntax — the action never returns `valid: true`.
## Environment
- Binary: deployed darwin-amd64 build from `develop` @ `d047d76`
- Ombi: 4.53.10 (https://ombi.i3omb.com), JWT auth
## Reproduction
```json
read_server {"action":"cron_validate","expression":"0 0 * * *"} // valid:false
read_server {"action":"cron_validate","expression":"0 0 0 * * *"} // valid:false
```
Both return `{"name":"valid","value":false}` with message `CRON Expression ... is not valid`.
## Expected
`valid:true` for a well-formed cron expression (Ombi uses NCrontab 6-field format; `0 0 0 * * *` is a valid daily-midnight schedule).
## Actual
Every expression tested is reported invalid.
## Likely cause
The handler POSTs `{"expression": "..."}` to `/api/v1/Settings/testcron`. The upstream endpoint may expect a different body shape (e.g. a raw JSON string rather than an object), or a different field name — the rejection message format suggests the expression reached upstream, but a wrong wire shape would produce exactly this result. Needs wire-level verification of the expected request body.
## Correlation IDs
`bd66ed33b8b08b1a41526dc0`, `9245d403a6ddeafdbcbbf0c5`
gronod
added this to the M7 — Admin/server wire contracts milestone 2026-09-19 08:57:53 +01:00
Verified against Ombi 4.53.10 / Quartz.NET semantics: the upstream rejection was correct for the expressions tested. Quartz requires 6–7 fields and ? in one of the two day fields, so 0 0 0 * * * is invalid (both day fields are *), while 0 0 0 * * ? validates. The adapter now documents this and adds a hint when validation returns false.
Verified against Ombi 4.53.10 / Quartz.NET semantics: the upstream rejection was correct for the expressions tested. Quartz requires 6–7 fields and `?` in one of the two day fields, so `0 0 0 * * *` is invalid (both day fields are `*`), while `0 0 0 * * ?` validates. The adapter now documents this and adds a hint when validation returns false.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
read_servercron_validatereports valid cron expressions as invalid for both 5-field and 6-field syntax — the action never returnsvalid: true.Environment
develop@d047d76Reproduction
Both return
{"name":"valid","value":false}with messageCRON Expression ... is not valid.Expected
valid:truefor a well-formed cron expression (Ombi uses NCrontab 6-field format;0 0 0 * * *is a valid daily-midnight schedule).Actual
Every expression tested is reported invalid.
Likely cause
The handler POSTs
{"expression": "..."}to/api/v1/Settings/testcron. The upstream endpoint may expect a different body shape (e.g. a raw JSON string rather than an object), or a different field name — the rejection message format suggests the expression reached upstream, but a wrong wire shape would produce exactly this result. Needs wire-level verification of the expected request body.Correlation IDs
bd66ed33b8b08b1a41526dc0,9245d403a6ddeafdbcbbf0c5Verified against Ombi 4.53.10 / Quartz.NET semantics: the upstream rejection was correct for the expressions tested. Quartz requires 6–7 fields and
?in one of the two day fields, so0 0 0 * * *is invalid (both day fields are*), while0 0 0 * * ?validates. The adapter now documents this and adds a hint when validation returns false.