Jenkins 2.440.3:如何通过命令行自动创建视图
可以用命令行自动创建Jenkins视图(针对2.440.3版本)
当然可以跳过GUI,用命令行完成Jenkins视图的自动化创建,以下是两种常用且可靠的方案:
方法1:借助Jenkins CLI执行Groovy脚本
Jenkins CLI是官方提供的命令行工具,结合Groovy脚本可以灵活创建各类视图:
- 先下载对应版本的CLI客户端:
wget http://<你的Jenkins地址>/jnlpJars/jenkins-cli.jar - 执行带认证的Groovy脚本创建视图(以列表视图为例):
java -jar jenkins-cli.jar -s http://<你的Jenkins地址>/ \ --username <你的用户名> --token <你的API令牌> \ groovy = << EOF import jenkins.model.Jenkins import hudson.model.ListView def jenkins = Jenkins.get() def targetView = "自动化测试视图" // 避免重复创建 if (!jenkins.getView(targetView)) { def newView = new ListView(targetView) // 可选:设置视图的Job过滤规则 newView.setIncludeRegex(".*test.*") jenkins.addView(newView) println "视图${targetView}创建成功" } else { println "视图${targetView}已存在,无需重复创建" } EOF
方法2:用curl直接调用Jenkins脚本控制台
如果不想下载CLI客户端,也可以通过curl远程调用Jenkins的脚本控制台执行创建逻辑:
curl -X POST -u <用户名>:<API令牌> \ http://<你的Jenkins地址>/scriptText \ --data-urlencode "script= import jenkins.model.Jenkins import hudson.model.ListView def jenkins = Jenkins.get() def targetView = "生产构建视图" if (!jenkins.getView(targetView)) { def newView = new ListView(targetView) newView.setIncludeRegex("prod-.*") jenkins.addView(newView) println "创建成功" } else { println "视图已存在" }"
扩展说明
- 如果需要创建其他类型的视图(如仪表板视图、流水线视图),只需替换对应的类:
- 仪表板视图:
import hudson.plugins.dashboard.view.DashboardView(需提前安装Dashboard View插件) - 流水线视图:
import org.jenkinsci.plugins.workflow.multibranch.PipelineView(需提前安装Pipeline插件)
- 仪表板视图:
- 所有操作需要确保使用的账号拥有创建视图的权限,API令牌可在Jenkins个人设置中生成。
内容的提问来源于stack exchange,提问作者Harsha K L
相关产品推荐
相关产品推荐

