如何在SCM提交时配置jenkins作业以发送邮件

时间:2014-07-24 09:44:06

标签: jenkins continuous-integration build-process build-automation

我在配置需要执行以下任务的jenkins作业时遇到问题:

  • 每30分钟安排一次=>行
  • 做更新(CVS,SVN,...)=>行
  • 如果在SCM repo中检测到更改,则发送电子邮件=> KO

所以我的工作配置如下:

  • 源代码管理:cvs root / branch / ...
  • 构建触发器:轮询SCM:* / 30 * * * *
  • 构建:没有构建步骤
  • 构建后操作:电子邮件通知

但是我只在构建失败时收到电子邮件,而不是在检测到更新时收到电子邮件。

任何提示?

2 个答案:

答案 0 :(得分:1)

简答:添加“始终”类型的电子邮件分机触发器(或“构建前”或其他触发器,例如下面的列表)。

jenkins email-ext插件。 https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin 了解触发器 '''默认情况下,配置的唯一触发器是“Failure”触发器。要添加更多触发器,请从下拉列表中选择一个,然后将其添加到列表中。'''

  1. 在作业配置 - 可编辑电子邮件通知 - 选择高级框。添加电子邮件触发器。例如触发器列表:
  2. Aborted
    Always
    Before Build
    Failure -> Unstable (Test Failures)
    Failure - Any
    Failure - First
    Failure - Second
    Failure - Still
    Fixed
    Not Built
    Script - After Build
    Script - Before Build
    Status Changed
    Success
    Test Improvement
    Test Regression
    Unstable (Test Failures) - First
    Unstable (Test Failures) - Still
    Unstable (Test Failures)
    Unstable (Test Failures)/Failure -> Success
    
    1. 您也可以选择并配置谁收到电子邮件。选择“Before Build”触发器并选择“Sent To”列表。发送至列表选项,例如
    2. Culprits 
      Developers 
      Recipient List 
      Requestor 
      Suspects build fail
      Suspects tests fail
      Upstream Committers
      

      电子邮件列表是在一般的jenkins配置中配置的。

      这个答案触及了这个问题的主题:Send email to commiters from Jenkins email-ext on every build

答案 1 :(得分:0)

你可以用一个小脚本来尝试:

  • 您将检查回购中的任何新提交
  • 如果出现更改,您有两种方式:
    1. 将从命令行
    2. 运行发送电子邮件
    3. 在jenkins中创建一些通知作业,它只会发送邮件并使用“java -jar jenkins-cli.jar -s yourserver build NotificationJobName”运行它