为jenkins jobs安排电子邮件通知

为jenkins jobs安排电子邮件通知,jenkins,job-scheduling,email-notifications,Jenkins,Job Scheduling,Email Notifications,我希望jenkin在作业运行前提前3小时发送电子邮件。电子邮件通知或可编辑电子邮件通知不提供安排电子邮件通知的选项。此类通知的目的是,我们公司的其他部门提前知道某些特定作业将要运行,并在作业运行之前执行必要的步骤。 任何想法或线索都将不胜感激。您可以在管道中添加一个“预构建”阶段,该阶段将发送一封关于即将运行的作业的通知电子邮件。您还可以在事后设置“睡眠”操作,让您的同事有时间准备: pipeline { stages { stage('Pre-Build Email'){

我希望jenkin在作业运行前提前3小时发送电子邮件。电子邮件通知或可编辑电子邮件通知不提供安排电子邮件通知的选项。此类通知的目的是,我们公司的其他部门提前知道某些特定作业将要运行,并在作业运行之前执行必要的步骤。
任何想法或线索都将不胜感激。

您可以在管道中添加一个“预构建”阶段,该阶段将发送一封关于即将运行的作业的通知电子邮件。您还可以在事后设置“睡眠”操作,让您的同事有时间准备:

pipeline {
    stages {
      stage('Pre-Build Email'){
       emailext(
          body: 'Job XYZ is about to run in 30 minutes.',
          from: env.DEFAULT_REPLYTO,
          replyTo: env.DEFAULT_REPLYTO,
          subject: 'Job XYZ notification',
          to: mailinglist@company.com'
       )
      sleep(time:30,unit:"MINUTES")
    } 

    // Rest of the build here

添加预构建步骤和添加执行shell选项。添加用于发送包含适当内容的电子邮件的unix脚本。添加sleep命令3小时以在接下来的3小时内保持生成

mailx-S smtp=$smtphost:$smtpport-S主题行-vfoo@baa.com
sleep 3600

但我没有任何管道作业。我有自由式作业,它在计划的时间运行。所以你可以把相关的构建步骤放在UI部分,相同的东西部分?我不确定我是否在跟踪你。我在Freestyle项目下有常规、源代码管理、构建触发器、构建环境、构建和后期构建部分。只需依次添加两个“构建”步骤。第一个是电子邮件通知,第二个是延迟,您可以使用“execute shell”延迟10分钟,例如-sleep 3600我理解您的意思,但电子邮件通知仅在生成后步骤中。因此,如果将延迟放在构建步骤中,它将等待10分钟,10分钟后,它将发送电子邮件。添加jenkins管道标签具有误导性,这就是为什么您会得到与jenkins管道作业相关的答案,而不是您想要的类型。是的,您是对的。我后来也发现了。vnscorner的回答现在似乎很有意义。谢谢你的回答。我尝试了与你的解决方案完全相同的方法,而且效果很好。