问题描述
我想创建一个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 (将#修改为@)