4

Testswarm とこのプラグイン(フォークされたソース) で Jenkins を使用しています。

Jenkins ジョブ名、ビルド番号、および svn リビジョン番号を含む Testswarm の「ジョブ名」を取得したいと考えています。

構成フィールドに JOB_NAME を入れても役に立ちません。変数はその値に置き換えられません。

そこで、Jenkins 環境変数を取得するようにプラグインのソース コードを変更しましたが、取得できるのは「null」だけです。

これが犯人コードです。(src/main/java/com/javaclimber/jenkins/testswarmplugin/TestSwarmBuilder.java の 205 行目から)

私はこの機能について多くのことを調査しましたが、変数を取得するための実例は見つかりませんでした。

public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
    ...
EnvVars envVars = build.getEnvironment(listener);
    ...
    envVars.get("JOB_NAME")
}

私はJavaが苦手で、この時点で立ち往生しています。どなたか教えてください。

更新: Java 使用バージョン
Java バージョン "1.6.0_24"
OpenJDK ランタイム環境 (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~10.04.2)
OpenJDK 64 ビット サーバー VM (ビルド 20.0-b12、混合モード)

4

4 に答える 4

9

交換する

EnvVars envVars = build.getEnvironment(listener);

EnvVars envVars = new EnvVars();
envVars = build.getEnvironment(listener);

トリックをした...

于 2013-01-09T08:25:57.277 に答える
1

Java のどのバージョンを使用していますか? thisによると、環境変数を取得するには、次を追加する必要があります。

String job_name = System.getenv("JOB_NAME");

代わりにこれを試しましたか?

また、構成フィールドがどのように見えるかわかりませんが、$JOB_NAME代わりに? を使用してみましたJOB_NAMEか?

于 2013-01-08T17:36:35.883 に答える