Consigue la versión de git de jenkins api

Recientemente, he movido un gran proyecto de svn a git, en Jenkins necesito el ID de confirmación actual guardado en un file para que los processs secundarios puedan ejecutarse con él.

Estoy ejecutando una tarea maravillosa que lee la variable Hudson

def rev = build.changeSet.getRevisions()[0].revision 

En svn esto devuelve el número de compilation correcto, sin embargo, en git devuelve un error. Supongo que la API es diferente para git, sin embargo, no he podido encontrar el equivalente en git

¿Alguien más ha abordado este problema?

El guion completo es

 import groovy.io.FileType import hudson.model.* import jenkins.model.* if (build.result.toString().equals("SUCCESS")){ def rev = build.changeSet.getRevisions()[0].revision File home = new File(Hudson.instance.getJob("compile").getLastBuild().getEnvironment()["JENKINS_HOME"]) def props_file = new File(home, "revision.properties") def build_props = new Properties() build_props["UPSTREAM_REVISION"] = String.valueOf(rev) props_file.withOutputStream { p -> build_props.store(p, null) } println "Wrote revision ${rev} to " + props_file.getAbsolutePath() } 

Sé que el plugin de git para Jenkins tiene una variable de entorno "GIT_COMMIT", pero esto por ejemplo

 def rev = new File(Hudson.instance.getJob("compile").getLastBuild().getEnvironment()["GIT_COMMIT"]) 

Devuelve la confirmación para la compilation anterior, no la que está en progreso

encontró y respondió su propia pregunta, la documentation de Jenkins es terrible

http://sofes.miximages.com/a/26428580/820365