获取每个Jenkins管道阶段的日志

Ale*_*ias 7 jenkins jenkins-pipeline jenkins-blueocean

任何人都知道如何获得Blue Ocean显示的(针对每个管道阶段)单独的日志。我需要将它们附加到Jira,但找不到它们。任何的想法?

在此处输入图片说明

Qui*_*cio 5

我正在对我正在构建的全球管道库做同样的事情。这对于您只想通过电子邮件发送特定失败阶段的日志的情况很有用。希望它能有所帮助。在下面的示例管道中,名为的作业test执行一次 ( build #1)

样品管道

    管道{
        代理任何
        阶段{
            阶段(“编译”){
                脚步 {
                    脚本 {
                        echo“正在编译...”
                    }
                }
            }
            阶段(“测试”){
                脚步 {
                    脚本 {
                        回声“测试中……”
                    }
                }
            }
            阶段(“构建”){
                脚步 {
                    脚本 {
                        回声“建筑……”
                    }
                }
            }
        }
    }
    

  1. 访问 API 以查看执行详细信息。请注意,此 JSON 的每个对象都包含属性idresulthttp://localhost:8080/blue/rest/organizations/jenkins/pipelines/test/runs/1/nodes/

    [
        {
            *剪断*
            “行动”:[],
            “显示描述”:空,
            "displayName": "编译",
            第 341 章
            “id”:“6”,
            “输入”:空,
            “结果”:“成功”,
            "开始时间": "2018-11-24T18:14:16.196+0800",
            “状态”:“完成”,
            “类型”:“阶段”,
            “causeOfBlockage”:空,
            “边缘”:[
            {
                "_class": "io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl$EdgeImpl",
                “id”:“15”,
                “类型”:“阶段”
            }
            ],
            “firstParent”:空,
            “可重新启动”:true
        },
        {
            *剪断*
            “行动”:[],
            “显示描述”:空,
            "显示名称": "测试",
            “持续时间以毫秒为单位”:246,
            “id”:“15”,
            “输入”:空,
            “结果”:“成功”,
            "开始时间": "2018-11-24T18:14:16.693+0800",
            “状态”:“完成”,
            “类型”:“阶段”,
            “causeOfBlockage”:空,
            “边缘”:[
            {
                "_class": "io.jenkins.blueocean.rest.impl.pipeline.PipelineNodeImpl$EdgeImpl",
                “id”:“24”,
                “类型”:“阶段”
            }
            ],
            “第一父母”:“6”,
            “可重新启动”:true
        },
        {
            *剪断*
            “行动”:[],
            “显示描述”:空,
            “显示名称”:“构建”,
            “持续时间以毫秒为单位”:270,
            “id”:“24”,
            “输入”:空,
            “结果”:“成功”,
            "开始时间": "2018-11-24T18:14:17.188+0800",
            “状态”:“完成”,
            “类型”:“阶段”,
            “causeOfBlockage”:空,
            “边缘”:[],
            “第一父母”:“15”,
            “可重新启动”:true
        }
    ]
    
  2. 用于result检查阶段的状态(SUCCESSFAILEDABORTED等...)

  3. 用于id进入特定阶段,在此示例中,测试阶段的日志具有idof 15

    http://localhost:8080/blue/rest/organizations/jenkins/pipelines/test/runs/1/nodes/15/log/

    测试...