How to get e-mail address of current Jenkins user to use in groovy script How to get e-mail address of current Jenkins user to use in groovy script jenkins jenkins

How to get e-mail address of current Jenkins user to use in groovy script


I found a way:

import hudson.model.AbstractProjectimport hudson.tasks.Mailerimport hudson.model.Userdef item = hudson.model.Hudson.instance.getItem(env.JOB_NAME) def build = item.getLastBuild()def cause = build.getCause(hudson.model.Cause.UserIdCause.class)def id = cause.getUserId()User u = User.get(id)def umail = u.getProperty(Mailer.UserProperty.class)print umail.getAddress()


You can access the object of the current user with the method current()

def user = hudson.model.User.current();

The email address can be retrieved in the same way as to what you have done in your answer.

print user.getProperty(hudson.tasks.Mailer.UserProperty.class).getAddress();


import hudson.tasks.Mailer;import hudson.model.User;import hudson.model.Cause;import hudson.model.Cause.UserIdCause;def cause = build.getCause(hudson.model.Cause$UserIdCause)def id = cause.getUserId()User u = User.get(id)def umail = u.getProperty(Mailer.UserProperty.class)print umail.getAddress()