【问题标题】:How To Send an email from Jenkins to the email of the developer who made the changes on the repo(i.e committing or pushing)?如何从 Jenkins 向对 repo 进行更改(即提交或推送)的开发人员的电子邮件发送电子邮件?
【发布时间】:2020-05-23 18:53:33
【问题描述】:

所以我的目标是让 Jenkins 向参与 Mercurial 存储库中任何代码更改的开发人员发送一封电子邮件。我已经在 Mercurial 上设置了我的钩子,现在每当我对 repo 进行任何类型的更改时,都会在 Jenkins 上执行构建,该构建没有任何问题。现在的问题是它只将它发送到我在 Jenkins 中配置的电子邮件,而不是进行更改的开发人员的电子邮件。在 Mercurial 上,我确保将用户设为我主要使用的电子邮件。我很确定下面的代码将能够访问进行更改的开发人员的电子邮件:

pipeline {
   agent any

   stages {
      stage('Hello') {
         steps {
            echo 'Hello World'
         }
      }
   }

   post {
    always {
    emailext body: 'A Test EMail', recipientProviders: [[$class: 'DevelopersRecipientProvider'], [$class: 'RequesterRecipientProvider']], subject: 'Test'
    }
}
}

鉴于我怀疑 Jenkins 不知道进行更改的开发人员的电子邮件。我如何告诉 Jenkins 进行更改的开发人员的电子邮件?顺便说一句,我还确保为 Jenkins 安装了所有电子邮件插件,但仍然没有运气。

【问题讨论】:

    标签: jenkins continuous-integration jenkins-pipeline mercurial jenkins-email-ext


    【解决方案1】:

    我认为您正在寻找Email Extension plugin

    允许您配置“默认收件人”、“开发人员”、“罪魁祸首”、“请求者”等。

    还有一个Email Extension Template 插件可用。

    【讨论】:

    • 我已经安装了这些插件,根据我的管道代码,我似乎已经打电话给收件人,但没有任何反应。
    【解决方案2】:
    1. 添加构建步骤并选择执行windows批处理命令
    2. 获取最近提交的日志并从结果中选择用户名 "hg log --limit 1"

    3. 在电子邮件扩展插件中配置此电子邮件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多