詹金斯:hudson.model.User.current() 返回系统

Iow*_*owa 5 groovy jelly jenkins jenkins-pipeline

我正在运行以下命令来获取当前登录 jenkins 的用户。

hudson.model.User.current()
Run Code Online (Sandbox Code Playgroud)

但是,我得到的结果是“SYSTEM”。这是否意味着 jenkins 中的所有构建都以 SYSTEM 用户身份发生。如果是这种情况,下面的方法是获取触发构建的用户的用户 ID 的唯一方法吗?

for(hudson.model.Cause cause : build.causes) {
userBuild = cause.getUserName()
}
Run Code Online (Sandbox Code Playgroud)

实际上,我正在尝试在 jenkins 中编辑 buildCaption.jelly,以便只有触发构建的用户才能取消构建。我被困在需要获取当前登录用户的用户 ID 的地方,以便我可以检查他是否与开始构建的用户相同。任何想法,请提出建议。提前致谢。