You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API远程更新Jenkins任务的Cron调度表达式(无需提交完整XML)

远程修改Jenkins任务Cron调度的简便方法

你提到的修改XML提交的方法确实可行,但还有几种更简便的方式,不用处理完整的配置文件:

1. Jenkins CLI 命令行方式

直接通过Jenkins CLI执行命令修改,支持参数化传入Cron表达式:

# 先下载jenkins-cli.jar,或者用SSH连接
java -jar jenkins-cli.jar -s http://你的Jenkins地址/ set-build-trigger 任务名称 timer "你的Cron表达式"

如果用SSH方式(需要Jenkins开启SSH服务),可以直接执行:

ssh jenkins@你的Jenkins地址 set-build-trigger 任务名称 timer "你的Cron表达式"

2. Jenkins REST API(推荐自动化场景)

不用替换完整的XML,通过PATCH请求仅更新调度配置部分:

curl -X PATCH -u 用户名:API令牌 \
http://你的Jenkins地址/job/任务名称/config.xml \
-H "Content-Type: application/xml" \
--data '<triggers><hudson.triggers.TimerTrigger><spec>你的Cron表达式</spec></hudson.triggers.TimerTrigger></triggers>'

这种方式只需要传递调度相关的XML片段,比全量替换更简洁。

3. Pipeline任务专属方法

如果是Pipeline类型的任务,可以在Jenkinsfile中动态接收参数并设置调度:

properties([
  pipelineTriggers([cron(params.CRON_EXPRESSION)])
])

// 后续Pipeline逻辑...

之后通过远程触发该Pipeline时传入CRON_EXPRESSION参数,即可自动更新任务的调度配置。


你之前提到的XML片段示例:

<triggers>
<hudson.triggers.TimerTrigger>
<spec>05 01 * * *</spec>
</hudson.triggers.TimerTrigger>
</triggers>

Jenkins任务调度配置界面:
Schedule

内容的提问来源于stack exchange,提问作者Sameera De Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 23:08:26