Jenkins 无需颜色编码即可获取构建日志

问题描述 投票:0回答:1

我想在构建后将构建日志作为附件发送,但它不可读,因为很多文本都是以 Base64 相关编码的:如何解密 Jenkins 8mha 值

由于这个 jenkins 实例几乎总是在生产中,我无法安装插件或添加依赖项。有没有办法从詹金斯日志中获取可读的文本?

我读到你可以对 jenkins 进行 API 调用以从网站获取文本,我会尝试一下,但在那之后我就迷失了。

有Jenkins高手有建议吗?

而不是 [8mha:AAAAqR+LCAAAAAAAAP9b85aBtbiIQSajNKU4P08vOT+vOD8nVc+jsiC1KCczL9svvyTVzHb1RttJBUeZGJg8GdhyUvPSSzJ8GJhLi3JKGIR8shLLEvVzEvPS9YNLijLz0q0rihik0IxzhtAgwxggg JGJgaGiAMiQL2HQ0c/KT9J3zkhNzs4vLVE1MtAFYpfEkkQg5ZuYl5ieWgRkBbgF65sa6QMAtVXQDbEAAAA=[0m

我正在尝试获取可读文本,例如:由用户启动....

jenkins groovy encoding jenkins-pipeline jenkins-groovy
1个回答
0
投票

事实证明你不需要对其进行编码,因为实际有用的信息在最后。解决方案:定义一个模式并过滤该模式的字符串。

不幸的是,在后期步骤中检索构建日志并不理想,因为它不包含所有行......

def cleanLog(inputString) {
    def pattern = /\u001B\[8mha:(.*?)\u001B\[0m/
    def matcher = (inputString =~ pattern)

    def result = inputString

    while (matcher.find()) {
        def substringToRemove = matcher.group(0)
        result = result.replace(substringToRemove, "")
    }

    return result
}

© www.soinside.com 2019 - 2024. All rights reserved.