Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email Jenkins:基于每个构建步骤发送电子邮件会导致相同的Jenkins作业_Email_Jenkins - Fatal编程技术网

Email Jenkins:基于每个构建步骤发送电子邮件会导致相同的Jenkins作业

Email Jenkins:基于每个构建步骤发送电子邮件会导致相同的Jenkins作业,email,jenkins,Email,Jenkins,我只是想知道如何发送电子邮件的基础上,每个建设步骤的结果在同一詹金斯工作。这是我的设想 我的詹金斯工作有3个构建步骤 构建步骤1: Pull latest code from github and Build the app - Gradle task which build the Jar 构建步骤2: Run all Tests against that Jar - Gradle Task which runs all Junit tests and provide Repor

我只是想知道如何发送电子邮件的基础上,每个建设步骤的结果在同一詹金斯工作。这是我的设想

我的詹金斯工作有3个构建步骤

构建步骤1:

   Pull latest code from github and Build the app - Gradle task which build the Jar
构建步骤2:

   Run all Tests against that Jar - Gradle Task which runs all Junit tests and provide Report files.
构建后操作:

   If Build step1 fails -> Send email telling Build fails and Console Log with Exception detials

   If Build success and Tests run -> Send email with Test Reports

我想我需要为EmailExt插件编写预发送脚本。但我不知道如何写这个脚本。请帮忙

>自定义电子邮件EXT,将工作分解为2个工作:

  • 作业1生成并具有此生成后配置
    • 仅在选中“生成成功”时使用触发器生成其他项目
    • 将email ext配置为仅在出现故障时发送邮件
  • 作业2运行测试并发送邮件
对于这两个作业,请在(作业)/配置/高级项目选项中将作业参数设置为

  • 使用自定义工作空间共享同一工作空间
  • 在生成上/下游项目时阻止生成,以避免覆盖

如果您还希望在作业1成功的情况下将测试结果附加到作业1,请在作业1中添加生成后步骤以聚合下游测试结果。

在正常配置中,如果生成步骤1失败,则生成步骤2将不会执行

如果构建步骤2(测试)失败,构建将被标记为“不稳定”,而不是“失败”

电子邮件分机已经支持这些事件的触发器

  • 滚动至可编辑的电子邮件通知部分
  • 单击高级设置…按钮
  • 查看触发器下的部分
  • 单击添加触发器按钮
您需要为“失败”和“不稳定”配置触发器(您可能还需要为“成功”配置触发器)

在“失败”触发器中,在生成失败时写入所需的电子邮件内容(生成步骤1失败将导致此问题)。
在“不稳定”触发器中,编写测试用例失败时所需的电子邮件内容。
在你的“成功”触发器中,当一切都成功并且你想要发送测试报告时,写下你想要的电子邮件内容

备选方案:

或者您可以查看插件(它应该允许构建后的操作,如email ext,作为构建步骤执行),以及插件(它允许为每个构建步骤创建条件)。当您想要触发电子邮件ext构建步骤时,将两者结合起来并创建条件。不过,我还没有尝试过这个,也不能保证它会起作用。

@Tang,谢谢您的回答。分为两份工作,我已经做了,这是很好的工作。对于这个简单的任务,我不想有两个工作是繁琐的维护。所以我想要一份工作,谢谢斯拉夫。我尝试了选项1,但似乎没有按预期工作。在“不稳定”的情况下(构建步骤1通过,步骤2失败),仍然将其视为“失败”,而不是“不稳定”。我遗漏了什么吗?你是怎么开始测试的?如果您是从命令行执行此操作,则不会将其视为“测试”,而是“构建”。尝试这个插件-任何构建步骤和电子邮件ext的组合都经过测试并有效。