0

ジェンキンスのバージョン: 2.6、Linux

問題: パラメーター化されたビルド変数は、実行ステップの「シェル スクリプト」で (env 変数として) 表示されません。以前の 1.x jenkins バージョンでは表示されていました。

手順:

  1. マルチ構成プロジェクトでパラメーター化されたビルドを作成します。
  2. ビルドにパラメーターを追加します ( This project is parameterized-> string parameter, {if that matter} を使用)。
  3. ビルドステップ「シェルの実行」をジョブに追加します。
  4. このシェル スクリプトのこれらのパラメーターに環境変数としてアクセスします。

    echo "++++++++++++ building $lib_name ($lib_version) ++++++++++++++"

これを解決するために、「実行用の環境を準備する」セクションで groovy スクリプトを作成しようとしました。環境変数としてシェルスクリプトに渡されるハードコードされた値を使用して環境変数を作成しました。

def map = ['lib_name':'lib1']
map['lib_version'] = 'master'
return map

しかし、ハードコーディングしないと、Groovy API を使用して Jenkins ビルド パラメーターを取得する方法のソリューションを使用しても、これらの変数値にアクセスできません 。

他に何をしなければならないかわかりません。誰か提案してもらえますか?

---> この質問に関するコメントに基づいて更新しています:ジェンキンスで次の行を実行すると、例外が発生します:

def buildVariablesMap = Thread.currentThread().executable.buildVariables 
buildVariablesMap.each{ k, v -> println "${k}:${v}" }




FATAL: No such property: executable for class: hudson.model.OneOffExecutor
groovy.lang.MissingPropertyException: No such property: executable for class: hudson.model.OneOffExecutor
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53)
    at org.codehaus.groovy.runtime.callsite.GetEffectivePojoPropertySite.getProperty(GetEffectivePojoPropertySite.java:66)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296)
4

4 に答える 4

0

これはおそらく資格情報プラグインのジェンキンスのバグでした: https://issues.jenkins-ci.org/browse/JENKINS-35921

ご助力いただきありがとうございます!

于 2016-06-28T11:26:35.763 に答える
0

シェル スクリプトでパラメータにアクセスするには:

エコーでそれらを評価するには:例echo "${myParam}"

コードでそれらを使用するには:def myNewvalueParam = ${myOtherParam}

于 2016-06-13T09:39:34.297 に答える