Al usar el complemento Groovy Jenkins (no el complemento Groovy Post Build, que es una cosa diferente) como un Paso posterior, no puedo resolver clases en el paquete hudson.model
.¿Paquetes de Jenkins en Groovy Classpath?
¿Debo agregar el Jenkins .war al classpath, o estos paquetes ya deberían estar allí?
Guión:
import hudson.model.*;
import hudson.util.*;
AbstractBuild currentBuild = (AbstractBuild) Thread.currentThread().executable;
def mavenVer = currentBuild.getMavenArtifacts().getModuleRecords()[0].mainArtifact.version;
println mavenVer;
ParametersAction newParamAction = new hudson.model.ParametersAction(new hudson.model.StringParameterValue(“MAVEN_VERSION”, mavenVer));
currentBuild.addAction(newParamAction);
Salida:
[Common] $ /home/tester/tools/Groovy_1.8.3/bin/groovy /home/tester/workspace/Common/hudson8369102960709507246.groovy
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/home/tester/workspace/Common/hudson8369102960709507246.groovy: 8: unable to resolve class AbstractBuild
@ line 8, column 15.
AbstractBuild currentBuild = (AbstractBuild) Thread.currentThread().executable;
[...]
¿Es realmente posible ejecutar su código anterior como un simple 'Groovy Script' al agregar el jar correcto al classpath? De la documentación del complemento de Groovy, tengo la impresión de que el código no funcionará como en una instancia de JVM diferente, por lo que no podrá agregar un parámetro en la JVM en ejecución. – Tonin
@engineerbetter Sé que esto es viejo, pero ¿te importa compartir cómo se ponen estos frascos en el camino de clase con respecto a Jenkins y Groovy? ¿Simplemente voy en la configuración avanzada de mi script de Groovy, especifico el classpath donde están alojados mis archivos jar? – TekiusFanatikus