我正在尝试获得批准"输入的用户ID"在工作流程jenkins groovy脚本中的步骤。以下是示例脚本
node('node1'){
stage "test"
input message: 'test'
}
在工作流程用户界面中,如果某人点击并竖起大拇指"我想在日志中打印他的用户ID。我没有看到任何选择。
def cause = currentBuild.rawBuild.getCause(Cause.UserIdCause)
cause.userId
将打印启动构建的人员。我用Google搜索了好几天,但我找不到任何东西。任何帮助将不胜感激:)
答案 0 :(得分:3)
这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
}
答案 1 :(得分:2)
JIRA incident引用的u-phoria已经解决,修复程序已经发布。
通过将submitterParameter设置为一个值,submitterParameter指定的变量将填充响应输入字段的Jenkins用户ID。