You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Jenkins单个视图中展示所有任务(含文件夹内任务扁平化列表)

实现Jenkins任务的扁平化视图(含文件夹内任务)

嘿,这个需求我太熟了!之前用文件夹对任务做结构化管理后,想要快速查看所有任务的全貌确实有点麻烦,分享几个靠谱的解决方案,从简单到进阶都有:

方法一:用Jenkins自带的列表视图(无需插件)

这是最省事的办法,不用额外装插件就能搞定:

  • 打开Jenkins主页,点击右上角的 + New View
  • 选择「List View」,输入视图名称(比如「所有任务概览」),点击「OK」进入配置页
  • 在「Job Filters」区域,找到并勾选 Include jobs in folders 选项
  • 如果需要展示所有任务,直接在「Job name filter」里填正则表达式 .*(匹配任意任务名);如果只想看特定类型的任务,可以写更精准的正则(比如 .*build.* 匹配含build的任务)
  • 保存配置后回到视图,就能看到所有任务的扁平化列表了——不管是根目录还是文件夹里的任务,都会直接列出来,不会嵌套显示文件夹结构

方法二:用Flat View插件(专门为扁平化视图设计)

如果觉得自带视图的功能不够灵活,可以试试这个专门的插件:

  • 先到Jenkins的「插件管理」页面,搜索并安装 Flat View Plugin
  • 新建视图时选择「Flat View」,输入视图名称后进入配置
  • 这个视图默认就会展示所有文件夹内的任务,不需要额外勾选选项;你还可以在配置页设置任务排序方式、过滤条件(比如按任务状态、名称过滤),甚至自定义显示的列(比如最后构建时间、状态图标)
  • 保存后就能得到一个简洁高效的扁平化任务概览,体验比自带视图更好

方法三:用Groovy脚本自定义视图(进阶需求)

如果需要更个性化的展示(比如添加自定义信息、特殊样式),可以用脚本视图实现:

  • 先安装 Scriptler Plugin 或者直接使用Jenkins的「Scripted View」(旧版本可能自带)
  • 新建视图时选择「Scripted View」,在脚本编辑框里输入Groovy脚本,示例如下:
// 遍历所有Job类型的任务,排除文件夹本身
Jenkins.instance.getAllItems(Job.class).findAll { !(it instanceof Folder) }.each { job ->
    def statusIcon = job.getIconClassName()
    def jobName = job.fullName
    def jobUrl = job.url
    def lastBuild = job.lastBuild ? job.lastBuild.number : "无构建记录"
    println """
    <div style="margin: 8px 0; padding: 4px; border-bottom: 1px solid #eee;">
        <span class="${statusIcon}" style="margin-right: 8px;"></span>
        <a href="${jobUrl}">${jobName}</a>
        <span style="float: right; color: #666;">最后构建:${lastBuild}</span>
    </div>
    """
}
  • 保存脚本后,视图会按照你写的逻辑渲染出自定义的扁平化任务列表,适合有定制化需求的场景

注意事项

  • 确保你的Jenkins账号有所有任务的查看权限,不然视图里会看不到你没有权限访问的任务
  • 如果任务数量特别多,视图加载可能会变慢,建议搭配过滤条件缩小范围,或者使用支持分页的插件优化性能

内容的提问来源于stack exchange,提问作者Markus Weninger

火山引擎 最新活动