Дженкинс - Как получить письмо коммиттеров и использовать его в поле списка получателей электронной почты? - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь выяснить, как получить электронную почту пользователя и использовать ее для отправки электронной почты. Когда пользователь совершает коммит, я ожидаю, что смогу отправить этому конкретному пользователю электронное письмо. Я пробовал 2 способа:

  1. Использование Webbuok Bitbucket для отправки параметра URL. Тем не менее, это не похоже на отправку параметра вообще. Использование расширения электронной почты с параметризованным заданием работает нормально, когда я сам запускаю задание, но Bitbucket не отправляет электронное письмо через

  2. Использование нескольких команд в оболочке для извлечения электронной почты коммитеров самостоятельно, но я не могу использовать эту переменную вне оболочки для использования в списке получателей для плагина электронной почты

Есть ли способ выполнить эту задачу? Спасибо.

1 Ответ

0 голосов
/ 25 октября 2019

Вы можете сначала получить код и получить коммит для запущенной сборки, используя следующий код

final scmVars = checkout(scm)

// Current Commit
env.GIT_COMMIT_ID = scmVars.GIT_COMMIT

Затем используйте следующую команду, чтобы получить emailID для коммиттера: -

def command = "git log -1 --pretty=format:%aE" + GIT_COMMIT_ID
env.commiterEmailID = sh (script: command , returnStdout: true)

Вы можете использовать переменную " commiterEmailID " в поле " до " поля emailext , как показано ниже: -

emailext attachLog: true, body: mailBody, subject: mailSub, to: ${env.commiterEmailID} 
...