想要在Groovy中创建一个对象以收集Jenkins管道阶段数据

问题描述

我想创建一个Jenkins管道报告,并希望通过电子邮件发送该报告。

要求:

  • 该报告必须包含有关每个单独阶段的信息。
  • 我想创建一个名为Report的类,该类包含一个结构,该结构具有在每个阶段添加和读取报告数据的方法。
  • 为每个阶段创建一个对象,其中包含每个阶段的报告数据。报告数据可以是MAP,字符串或列表。

EX:

pipeline(postBuild: {})
{ Stage("stage1"){echo hello}
  Stage("stage2"){echo from}
  Stage("stage3"){echo groovy}
  Stage("stage4"){echo and jenkins}
}

我所做的是创建一个班级名称Report

@Singleton(lazy=true)
@ToString(includeNames=true,includeFields=true)
class Report {
    //  Will be collecting stage name and summary
    def stageName;
    def stageReport;
    def result;

    //method to set value
    def addStageReport(stageName,stageReport) {
        this.stageName = stageName;
        this.stageReport = stageReport;
        result.append(stageName);
        result.append(stageReport);
    }

    // method to get value
    def readStageReport() {
        return result;
    }
}

我正在创建一个Report类的对象来存储每个阶段的信息

    pipeline(postBuild: {sendReport(report)}) //this will create report from data in report object and email to the user
    { 
      Stage('Check'){
      echo Checking
      Map stageName["Name":"check"]
      Map stageReport["Result":"success"]
      report.addStageReport(stageName,stageReport)
      }
      Stage('validate'){echo validating}
      Stage('build'){echo building}
      Stage("test"){echo testing}
    }
     ```

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...