Update a cron job
update_cronUpdate selected fields of an existing cron job—name, branch, schedule, timezone, or enabled status—to pause or adjust automated pipelines without recreating the job.
Instructions
Changes a cron job. Only the fields you pass are touched — including "enabled", which is how a schedule is paused without losing it.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"repo_id": "<repo_id>",
"cron_id": "<cron_id>"
},
"name": "update_cron"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name of the cron job, shown in the UI and on the pipelines it starts. | |
| branch | No | Branch name. | |
| cron_id | Yes | Numeric cron job id. | |
| enabled | No | Set false to stop the schedule without deleting it. | |
| repo_id | Yes | Numeric repository id. lookup_repository turns an "owner/name" pair into one; list_repositories shows both. | |
| schedule | No | Schedule as a five-field cron expression ("0 4 * * *" is 04:00 daily), a descriptor (@yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly), or "@every <duration>" such as "@every 30m". No seconds field. | |
| timezone | No | IANA time zone the schedule is interpreted in. Defaults to UTC. Note that the official Woodpecker container image carries no time zone database, so on a stock Docker deployment anything but "UTC" is rejected with "unknown time zone" — that is the server missing tzdata, not a wrong name. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| truncated | No | Present only when the answer was shortened to fit the budget. |