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

相关推荐
Escalating_xu5 小时前
【Linux 网络编程】手写序列化与反序列化:从 x op y 到能校验的文本协议
linux·运维·网络
润滑卫士5 小时前
油液多参数融合故障诊断:数据级融合与决策级融合方法
运维
李纲明6 小时前
WordPress 后台登录马上被踢回登录页:Cookie 域、HTTPS、盐值和页面缓存怎么查
运维·缓存·https·php·wordpress·cookie
todoitbo7 小时前
在 Ubuntu ARM64 上运行 Q1 V3.0 MuJoCo 模型:加载、步进和单执行器响应
linux·运维·ubuntu·ai·机器人·仿真教程·启元
AR-26710-7 小时前
Linux Day26——传输层与三次握手
linux·运维
额额额对了8 小时前
嵌入式 Linux 实战:i.MX6ULL 上的 CAN 通信与摄像头采集
linux·运维·服务器
RFID科技的魅力9 小时前
2026 年 RFID 资产标签批量制作怎么做?RFID 标签打印机实操指南
运维·人工智能·嵌入式硬件·物联网
灯澜忆梦9 小时前
【Linux】#10 | Linux 终端实用快捷键 + 安装应用
linux·运维·服务器
OnlyEasyCode11 小时前
IIS开放端口转发后端
运维·服务器
合合技术团队12 小时前
合合信息旗下TextIn面向全球市场推出文档处理自动化公有云服务
运维·自动化