email - 如何获取当前 Jenkins 用户的电子邮件地址以在 groovy 脚本中使用

标签 email groovy jenkins jenkins-workflow

我为新的 Jenkins 工作流插件创建了一个 groovy 脚本,https://github.com/jenkinsci/workflow-plugin 。我希望它在需要输入下一步时向开始该作业的用户发送邮件。我尝试搜索 API,但找不到任何有关获取用户电子邮件地址的信息。

我会想到这样的事情。

import hudson.model.User
def user = User.current()
def mailAddress = user.getMailAddress()

有没有办法在groovy中获取当前Jenkins用户的地址?

最佳答案

我找到了一种方法:

import hudson.model.AbstractProject
import hudson.tasks.Mailer
import hudson.model.User

def 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()

关于email - 如何获取当前 Jenkins 用户的电子邮件地址以在 groovy 脚本中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28046312/

相关文章:

macos - Mac终端发送带附件的邮件

ajax - 在 Ajax 中调用 Controller 以在 Grails 中下载文件

svn - Jenkins 如何向 Subversion 用户发送电子邮件通知?

svn - 为依赖项目和多个开发人员设置构建过程

android - 如何解决 secret 文件绑定(bind)问题

发送电子邮件后 Android View 为空

email - Ballerina:如何连接 SMTP 服务器并发送电子邮件?

java - Groovy 摘要身份验证

Grails:方法 findAll() 的签名不适用于参数类型:String、ArrayList

java - 使用 Java Commons Mail 发送电子邮件时出错