2016-04-11 6 views
1

Jenkinsでビルドパラメータに関する質問があります。JenkinsがJavaコード内でパラメータを構築する

Jenkinsにビルドパラメータ(url)を追加し、そこにURLを書き込んでコードに使用します。

私はそれが可能かどうか、それがどうすればいいのですか?

System.getenv("PARAM_NAME");は私のために働いていません。

どうもありがとう=)

+1

あなたはこの質問への答えを得ることができますか?私は似たようなシナリオを持っており、適切なソリューションを探しています。私もSystem.getenvを試していましたが、うまくいかないようです。私の場合、私のジェンキンの仕事はパラメータ化されており、私はアンドロイドのアプリケーションでJavaコードでそのパラメータ値を取得しようとしています – Sushil

答えて

0

あなたはジェンキンスさんは、コンパイルする前に、あなたのvalues.xmlファイルを変更可能性があります。それは私がすぐに考えることができる最も簡単な方法でしょう。

+0

あなたは私にいくつかの例を教えてくれますか? –

0

私はあなたがEnvInject+Pluginを探していると思います。

いくつかのユースケース

  • ジョブ実行のために、デフォルトで使用可能なノードレベル(マスター/スレーブ)、で継承された環境変数(PATH、ANT_HOME、...)を削除します。ユーザパラメータに基づいて変数を注入する(SCMチェックアウト前)ジョブの最初のステップで、変数
  • を注入する
  • はSCMチェックアウトする前に初期化スクリプトを実行する
  • 値。ビルド
のために使用される環境変数を知るために、以前のビルドステップ
  • によって満たさファイルから取得したビルドステップとして変数を注入するためにSCMのチェックアウト
  • 後に初期化スクリプトを実行するに
  • +0

    はい、探しているようですが、Javaコードで(環境変数の)値をどのように取得できるのかわかりません。 –

    +0

    プラグインを使って変数を環境に注入した場合、 'System.getenv(" PARAM_NAME ");'を使うことができます。または、おそらく 'System.getProperty(" PARAM_NAME ")' –

    +0

    1.私は "\t ビルドプロセスへの環境変数の注入"を有効にしました。 2.次に、 "Properties Content"に "TEST_STRING = hello world"を追加しました。 3. MainActivityクラスで、 "System.getenv(" TEST_STRING ")"を追加しました。そして、アプリケーションをビルドすると、System.getenv( "TEST_STRING")が返す値が "null"であることがわかります。私は何を間違えたの? –

    0

    インスタンスのJavaコードまたはジェンキンスプラグインを作成している場合、あなたは、単にこれを行うことができます:

    import hudson.model.AbstractProject; 
    AbstractProject job.getLastBuild().getBuildVariables().containsKey("PARAM_NAME") 
    
    +0

    OPは値を取得したいので、get( "PARAM_NAME")はより良い提案です'containsKey(" PARAM_NAME ")'であり、この場合、 "PARAM_NAME"という名前のビルドパラメータが存在するかどうかだけが判別されます。 –

    関連する問題