如何在 jenkinsfile(Groovy 脚本)中发送带有附件的电子邮件?

2024-02-23

我想在詹金斯的构建后操作后发送电子邮件。因此我编写了 jenkinsfile 如下。但我需要一些绝妙的脚本 1. zip 文件附件 2. 在附加文件之前,我需要将文件夹转换为zip格式。

注意:请不要建议电子邮件插件程序和配置。 我更喜欢 Jenkins 文件方法配置

 pipeline {
    agent any
    stages {
        stage('Testing') {
            steps {
                sh 'chmod +x mvnw'
                sh './mvnw clean verify serenity:aggregate'
            }
        }
    }
    post {
        failure {
            script {
                mail (to: '[email protected] /cdn-cgi/l/email-protection',
                        subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) failed",
                        body: "Please visit ${env.BUILD_URL} for further information"
                );
                }
            }
         success {
             script {
                mail (to: '[email protected] /cdn-cgi/l/email-protection',
                        subject: "Job '${env.JOB_NAME}' (${env.BUILD_NUMBER}) success.",
                        body: "Please visit ${env.BUILD_URL} for further information.",


                  );
                }
          }      
    }
}

您需要使用 jenkins zip 实用程序为该文件夹创建 zip 文件,然后使用 email ext 插件发送带有附件的电子邮件,请参见下面的示例:

 pipeline {
    agent any
    stages {
        stage('Testing') {
            steps{
               bat "del test.zip"
               zip zipFile: 'test.zip', archive: false, dir: 'directory pattern as per your structure'
            }
        }
    }
    post {
        failure {
            emailext attachmentsPattern: 'test.zip', body: '''${SCRIPT, template="groovy-html.template"}''', 
                    subject: "${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - Failed", 
                    mimeType: 'text/html',to: "email id"
            }
         success {
               emailext attachmentsPattern: 'test.zip', body: '''${SCRIPT, template="groovy-html.template"}''', 
                    subject: "${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - Successful", 
                    mimeType: 'text/html',to: "email id"
          }      
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 jenkinsfile(Groovy 脚本)中发送带有附件的电子邮件? 的相关文章

随机推荐

  • 为什么 Redis 我收到 TypeError: Cannot read properties of undefined (reading 'get') 我的 Redis 已正确初始化?

    我收到此错误 显示 TypeError 无法读取未定义的属性 读取 get 当我点击 API 来测试我的 API 时 出现此错误 我尝试仔细检查我的主机名密码和端口 结果都是正确的使用 Windows 机器并使用 Redis Labs 进行
  • 用 perl 分割线[重复]

    这个问题在这里已经有答案了 可能的重复 用 perl 分割线 https stackoverflow com questions 7386215 split line with perl 我有一句话 regizor Betty Thomas
  • PL/SQL 中受 UPDATE 影响的行数

    我有一个 PL SQL 函数 在 Oracle 10g 上运行 我在其中更新一些行 有没有办法找出有多少行受到更新的影响 手动执行查询时 它会告诉我有多少行受到影响 我想在 PL SQL 中获取该数字 您使用sql rowcount多变的
  • 如何处理 Spark Map() 函数中的异常?

    我想忽略 map 函数中的异常 例如 rdd map toInt 其中 rdd 是RDD String 但如果遇到非数字字符串 则会失败 忽略任何异常并忽略该行的最简单方法是什么 我不想使用过滤器来处理异常 因为可能还有很多其他异常 您可以
  • 如何在 Elasticsearch 中创建嵌套对象并将其添加到嵌套字段中?

    https www elastic co guide en elasticsearch reference current nested html https www elastic co guide en elasticsearch re
  • todo 标签不适用于 eclipse 和 pydev

    我在 fedora 和 pydev 2 2 2 上使用 eclipse 3 7 0 我尝试使用待办事项标签 但它不起作用 窗口 gt 首选项上的待办事项标签看起来不错 我可以在该行旁边使用左键单击添加 请指教 带有 TODO 的注释仅在以下
  • 单击 FAB 上的 Alpha 背景

    I m using the library https github com futuresimple android floating action button https github com futuresimple android
  • C++ 标准中“好像”规则的声明或基础在哪里?

    经过一番谷歌搜索后 例如 site eel is as if rule 我找不到 C 标准中明确规定所谓 好像 规则的适当位置 我所能找到的是 在标准中调用它的那些地方 intro execution给出了参考 But intro exec
  • 如何使用 Flexbox 进行砖石布局

    我想通过 flexbox Child 元素创建砖石布局 Child 元素应按以下顺序出现 并且子元素具有不同的高度和相同的宽度 我正在使用延迟加载 1 2 3 4 5 6 从技术上讲 这是可能的flex flow column wrap 但
  • 为什么 OS X 在复制到 Samba 共享时不像 Windows 那样锁定文件?

    我有一个项目 它使用 net FileSystemWatcher 来观看 Samba 网络共享中的视频文件 当它看到一个文件时 会将其添加到编码队列中 当文件出队时 它们会被移动到本地目录 然后进程将文件编码为几种不同的格式并将它们吐出到输
  • 通过 SPARQL 处理 R XML 的编码问题

    我遇到了 R 的 SPARQL 包的编码问题 我正在运行以下代码 library SPARQL rights query lt PREFIX dc
  • 当用户开始输入时隐藏数据列表选项

    我创建了一个数据列表 显示用户关闭程序时保存的数据 我希望数据列表仅在用户单击下拉箭头 或输入框 时显示 并在用户开始键入时隐藏 我试过了 创建一个oninput事件希望当用户开始输入时数据列表将隐藏 使用隐藏数据列表datalist st
  • 多个登录表单

    我的 Web 应用程序使用 Spring security 进行保护 现在我正在尝试设置两个不同的登录页面 这是我的配置
  • 绘制大圆路径

    我正在尝试绘制一些基于路径 连接的地图 但无法弄清楚如何绘制 我看到基于一点的指标有很多可能性 伦敦的犯罪热点等 使用 googleVis ggmap 等 但我找不到太多基于两点的指标的示例 城市之间的移民 火车路线等 包中有一个示例geo
  • 找不到接受所提供参数的“+”重载

    所以我试图将我用 Objective C 制作的游戏转换为 Swift 我试图让它工作 但它总是给我一个错误 var actualX Double arc4random Double rangeX Double minX 我也尝试过 var
  • 如何在 Doxygen 注释中包含“<”?

    假设我正在使用 DOxygen Visual studio 兼容注释记录成员函数 如何使用小于 例如 如果我这样做
  • 如何在Azure函数的自定义HTTP路由中指定查询参数?

    我有一个 Azure Function 我想设置自定义 HTTP 端点 按照这个SO的答案question https stackoverflow com questions 52748519 how can my http trigger
  • Android Studio 中未显示菜单栏

    我在 macOS Sierra 上使用 Android Studio 应用程序时遇到问题 似乎该应用程序并未真正打开 因为通常 当应用程序打开时 其在扩展坞中的图标下有一个点 但在我的电脑上没有 真正的问题是 文件 构建 等菜单栏选项没有显
  • 唯一索引的分区列必须是索引键错误的子集

    所以我的项目要求我使用分区将名为 Leases 的表分成两个 分区的一侧是早于 2003 年 1 月 15 日的租约 另一侧是比该日期更新的租约 基本上我之前创建了一个名为 Leases 的表 我想为其创建一个分区 我需要创建一个全新的表来
  • 如何在 jenkinsfile(Groovy 脚本)中发送带有附件的电子邮件?

    我想在詹金斯的构建后操作后发送电子邮件 因此我编写了 jenkinsfile 如下 但我需要一些绝妙的脚本 1 zip 文件附件 2 在附加文件之前 我需要将文件夹转换为zip格式 注意 请不要建议电子邮件插件程序和配置 我更喜欢 Jenk