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

相关推荐
Y淑滢潇潇2 分钟前
RHCE 防火墙实验
linux·运维·rhce
稻谷君W32 分钟前
Ubuntu 远程访问 Win11 WSL2 并固定访问教程
linux·运维·ubuntu
泡沫·32 分钟前
4.iSCSI 服务器
运维·服务器·数据库
悠悠121382 小时前
告别Zabbix?我用Netdata只花10分钟就搞定了50台服务器的秒级监控(保姆级实战)
运维·服务器·zabbix
天庭鸡腿哥2 小时前
大小只有4K的软件,可让系统瞬间丝滑!
运维·服务器·windows·microsoft·everything
虚伪的空想家2 小时前
华为昇腾Atlas 800 A2物理服务器开启VT-d模式
运维·服务器·ubuntu·kvm·vt-d·直通
lqz19932 小时前
根据html导出excel和word
html·word·excel
学渣676562 小时前
服务器端口映射
运维·服务器
红袜子i2 小时前
【问题】实验室服务器恢复记录,一个主板挂两张显卡,
运维·服务器
S***q1922 小时前
DevOps在云中的云计算
运维·云计算·devops