如何将 Jenkins 的电子邮件发送到对 repo 进行更改(即提交或推送)的开发人员的电子邮件?

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 向参与 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 顺便安装了所有电子邮件插件,但仍然没有成功。

我认为您正在寻找 Email Extension plugin

允许您配置 "Default Recipients"、"Developers"、"Culprits"、"Requester" 等。

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

  1. 添加构建步骤并select执行windows批处理命令
  2. 从结果中获取最近提交的日志和 select 用户名 "hg log --limit 1"

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