如何使用Groovy获取Jenkins当前构建项目的具体信息?

dat*_*tka 11 groovy hudson jenkins

在Jenkins/Hudson中,在Postbuild Groovy脚本的帮助下,我希望得到以下内容之一:

  • 环境变量(例如当前的JOB_NAME,BUILD_NUMBER等)
  • 当前项目的特定内部版本号的结果
  • 当前项目中最后一次未成功构建的内部版本号

目前我只发现了以下方式,但它相当有限:

def item = hudson.model.Hudson.instance.getItem("GroovyMultipleFailTest") 
def build = item.getLastBuild()
build.getNumber()
Run Code Online (Sandbox Code Playgroud)

Gre*_*t88 6

${manager.build.getEnvironment(manager.listener)['BUILD_NUMBER'] }
Run Code Online (Sandbox Code Playgroud)


小智 5

使用 Jenkins v2.17 这对我有用:

echo "BUILD_NUMBER=${env.BUILD_NUMBER}"


Dón*_*nal 1

环境变量(例如当前的 JOB_NAME、BUILD_NUMBER 等)

String jobName = System.getenv('JOB_NAME')
Run Code Online (Sandbox Code Playgroud)

  • 我尝试过,但不幸的是它不起作用。但是,我成功通过 manager.build.project.getName() 获取了项目/作业名称。 (2认同)