0

Jenkins 1.460以降getMavenArtifacts()、のインスタンスを呼び出すとMavenBuildnullが返されますが、以前は正常に機能していました。

Jenkins APIに重大な変更がありましたか、それともこれはJenkinsのバグですか?

私が実行しているコードは、ビルド後のSystem Groovyスクリプトであり、Jenkinsビルドプロセスの後続のステップで使用する環境変数としてビルドのMavenバージョンを公開します。

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);
4

1 に答える 1

1

回避策を見つけましたが、APIに予告なしの重大な変更が加えられた理由はわかりませんが、修正されるバグであることが望まれます。

代わりの:

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

にとって

def mavenVer = currentBuild.getParent().getModules().toArray()[0].getVersion();
于 2012-04-18T08:33:37.330 に答える