Jenkins - MavenBuild.getMavenArtifacts()返回Null

时间:2012-04-17 16:18:00

标签: maven groovy hudson jenkins

自Jenkins 1.460以来,在getMavenArtifacts()的实例上调用MavenBuild返回null,而之前可以正常工作。

Jenkins API中是否有重大变化,或者这是Jenkins的错误?

我正在执行的代码是一个构建后的System Groovy脚本,它将构建的Maven版本公开为环境变量,用于Jenkins构建过程中的后续步骤:

import hudson.model.*;
import hudson.util.*;

def thr = Thread.currentThread();
def currentBuild = thr?.executable;
def mavenVer = currentBuild.getMavenArtifacts().getModuleRecords()[0].mainArtifact.version;
def newParamAction = new hudson.model.ParametersAction(new hudson.model.StringParameterValue("MAVEN_VERSION", mavenVer));
currentBuild.addAction(newParamAction);

1 个答案:

答案 0 :(得分:1)

我找到了一种解决方法,虽然我不知道为什么会对API进行突击性更改 - 希望这是一个可以修复的错误。

替换:

def mavenVer = currentBuild.getMavenArtifacts().getModuleRecords()[0].mainArtifact.version;

def mavenVer = currentBuild.getParent().getModules().toArray()[0].getVersion();