审计 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文件给审计人员即可。

相关推荐
蓝速科技13 分钟前
医院导诊 AI 数字人一体机场景适配与落地指南丨蓝速科技
运维·数据库·人工智能·科技·自然语言处理·技术分享
小葱炖豆腐25 分钟前
python绘制excel折线图
python·excel·numpy·pandas·matplotlib
H_oRIZoN_1 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
小马同学-2 小时前
OpenStack 使用实战:Web 界面与 CLI 命令行实验
运维·云计算·openstack
网安老伯3 小时前
都2026年了,还在问网络安全怎么入门?看完这一篇你就懂了
运维·计算机网络·web安全·网络安全·wireshark·密码学·网络攻击模型
小祺先生4 小时前
mt7921 debian系统 如何安装驱动
运维·网络·debian
m0_459872924 小时前
Linux 系统基础
linux·运维·服务器
fb_123454 小时前
Docker入门-第3章-容器镜像深度解析
运维·docker·容器
吴声子夜歌4 小时前
Shell编程——数组
linux·运维·shell
2401_891957315 小时前
简单了解多路转接select
运维·服务器