审计 jenkins获取构建历史,生成excel

审计 jenkins获取构建历史,生成excel

脚本入口

脚本内容

复制代码
def jobName = "城市云-生产环境-M/0102-CCDCSM平台-AUTH"
def job = Jenkins.instance.getItemByFullName(jobName)
def startDate = new Date(123, 0, 1) // 2023-01-01

// 打印表头(拆分Git字段)
println "构建编号,构建结果,构建时间(标准),构建链接,Git提交ID,提交作者,提交信息,变更文件"

job.builds.each { build ->
    if (build.getTimeInMillis() >= startDate.getTime()) {
        // 转换时间为标准格式
        def buildTime = new Date(build.timeInMillis).format("yyyy-MM-dd HH:mm:ss")
        
        // 处理Git变更
        def changeSet = build.changeSet
        def commitId = "", author = "", msg = "", files = ""
        
        if (changeSet != null && !changeSet.isEmptySet()) {
            def firstEntry = changeSet.iterator().next()
            commitId = firstEntry.commitId?.take(8) ?: "未知"
            author = firstEntry.author?.displayName ?: "未知"
            msg = firstEntry.msg?.replaceAll(",", " ")?.take(50) ?: "无提交信息"
            files = firstEntry.affectedPaths?.join(";")?.take(100) ?: "无文件变更"
        } else {
            commitId = "无变更记录"
        }
        
        // 输出拆分后的字段
        println "${build.number},${build.result},${buildTime},${build.absoluteUrl},${commitId},${author},${msg},${files}"
    }
}

其中 jobName 为项目名称,如果有文件夹的话,则是 文件夹/项目名 的格式;

获取的内容类似

复制这些内容,通过在线网站 Table Convert - Free Online Table Converter and Generator

进行转换生成excel

然后将下载的excel文件给审计人员即可。

相关推荐
java_logo2 小时前
QWEN3 企业级 Docker 容器化部署指南
运维·docker·容器·qwen3部署·qwen3部署文档·qwen3部署教程·qwen3部署方案
huohaiyu2 小时前
网络中的一些基本概念
运维·服务器·网络
Kiyra2 小时前
虚拟机假死?SSH 能连却卡 Logo 界面
运维·ssh
tap.AI3 小时前
Deepseek(九)多语言客服自动化:跨境电商中的多币种、多语种投诉实时处理
运维·人工智能·自动化
ling-453 小时前
Linux-day09 11
linux·运维·服务器
202321336054 刘3 小时前
Linux常用命令分类整理
linux·运维·数据库
oMcLin3 小时前
如何在 Debian 11 上通过配置 LVM 和 RAID 结合,提升大规模存储系统的性能与冗余性
运维·debian
C_心欲无痕3 小时前
网络相关 - Ngrok内网穿透使用
运维·前端·网络
宇钶宇夕3 小时前
CoDeSys入门实战一起学习(四):应用程序运行、监控与调试
运维·自动化
zhyf1193 小时前
零刻AI Max395(Ubuntu 24.04)AMD 显卡监控工具(amdgpu_top)部署手册
linux·运维·ubuntu