我正在尝试让用户ID批准工作流jenkins groovy脚本中的“输入”步骤。以下是示例脚本
node('node1'){
stage "test"
input message: 'test'
}
在工作流程用户界面中,如果有人点击“竖起大拇指”,我想在日志中打印其用户ID。我看不到任何选择。
def cause = currentBuild.rawBuild.getCause(Cause.UserIdCause)
cause.userId
将打印开始构建的人。我已经用谷歌搜索了几天,但没有找到任何东西。在这里的任何帮助将不胜感激:)
最佳答案
此Jira issue描述了如何继续进行此操作,但仍处于打开状态。
同时,通过构建操作API获取最新ApproverAction的方法最近是suggested on #Jenkins IRC,并且可以使用,请注意,这不是沙盒安全的。
遵循以下内容以获得最新批准者:
@NonCPS
def getLatestApprover() {
def latest = null
// this returns a CopyOnWriteArrayList, safe for iteration
def acts = currentBuild.rawBuild.getAllActions()
for (act in acts) {
if (act instanceof org.jenkinsci.plugins.workflow.support.steps.input.ApproverAction) {
latest = act.userId
}
}
return latest
}