Groovy 如何在jenkins delarative piepline中获取会话数据
我不想从CurrentBuild或CurrentUser中使用,因为这会返回生成作业的用户信息,但我想获取登录到jenkins的用户信息。Groovy 如何在jenkins delarative piepline中获取会话数据,groovy,jenkins-groovy,jenkins-declarative-pipeline,Groovy,Jenkins Groovy,Jenkins Declarative Pipeline,我不想从CurrentBuild或CurrentUser中使用,因为这会返回生成作业的用户信息,但我想获取登录到jenkins的用户信息。 例如,由计时器运行的作业X和一个用户将中止此操作,我想找到哪个用户中止了此作业。您可以使用以下代码。请注意,当您想要执行此代码时,您必须通过转到“manage Jenkins/in-process script Approval”(管理Jenkins/in-process脚本批准)并批准这些方法可执行,从而允许运行这些方法。通过使用这段代码,您不仅可以在手动
例如,由计时器运行的作业X和一个用户将中止此操作,我想找到哪个用户中止了此作业。您可以使用以下代码。请注意,当您想要执行此代码时,您必须通过转到“manage Jenkins/in-process script Approval”(管理Jenkins/in-process脚本批准)并批准这些方法可执行,从而允许运行这些方法。通过使用这段代码,您不仅可以在手动运行作业中,还可以在按计时器运行时获得Jenkins管道
pipeline {
agent any
triggers{cron("*/1 * * * *")}
stages {
stage('Hello') {
steps {
sleep(20000)
echo 'Hello World'
}
}
}
post{
aborted{
script{
def causee = ''
def actions = currentBuild.getRawBuild().getActions(jenkins.model.InterruptedBuildAction)
for (action in actions) {
def causes = action.getCauses()
// on cancellation, report who cancelled the build
for (cause in causes) {
causee = cause.getUser().getDisplayName()
cause = null
}
causes = null
action = null
}
actions = null
echo causee
}
}
}
}