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

时间:2011-11-14 11:59:23

标签: 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()

6 个答案:

答案 0 :(得分:6)

${manager.build.getEnvironment(manager.listener)['BUILD_NUMBER'] }

答案 1 :(得分:4)

Bo Persson有最好的答案,但有点短。

要从Groovy Postbuild中的构建中访问环境变量,您可以从构建中获取它们。此示例代码对于将所有BUILD环境变量转储到控制台非常有用:

manager.build.getEnvironment(manager.listener).each {
    manager.listener.logger.println(it);
}

答案 2 :(得分:3)

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

echo" BUILD_NUMBER = $ {env.BUILD_NUMBER}"

答案 3 :(得分:2)

如果您在" Env Inject"中使用Groovy脚本,则可以通过以下方式获取当前版本和当前作业:

currentJob.getName()
currentBuild.toString()

答案 4 :(得分:0)

  

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

String jobName = System.getenv('JOB_NAME')

答案 5 :(得分:0)

我让它为我工作的唯一方法是使用build.properties.environment.BUILD_NUMBER