2017-06-29 5 views
2

多くの場所でパラメータ化されたビルドを使用しています。私はパイプラインの入力を別の仕事のビルド番号にしたいと思います。 GroovyからJenkinsに問い合わせて、他のジョブのビルドパラメータを取得するきれいな方法を見つけられませんでした。誰かが共有するスニペットを持っていますか?別のビルドのパラメータを取得するには?

答えて

3

これは、スクリプトコンソールで私のため

import hudson.model.ParametersAction 

def getParams(String project, String buildNumber){ 

    def params=[] 

    Jenkins.instance.getItem(project).getBuild(buildNumber).getActions(ParametersAction) 
    .each { action -> 
    action.getParameters().each { 
     params << it 
    } 
    } 

    return params 
} 
+0

'org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessExceptionに動作します:スクリプトは、具体的にそれをstaticMethod jenkins.model.Jenkins getInstance'の使用を許可し、承認コンソールではありません「この署名を承認するとセキュリティ上の脆弱性が導入されるかもしれません!あなたはそれを否定するように勧められます」と述べています。 –

+0

フォルダ内にあるので、 'getItem()'を 'getItemByFullName()'と入れ替える必要がありました。そうでなければ、それは働いた、ありがとう!来週まで質問を開いたままにして、より良い(セキュリティ以外の警告ではない)回答があるかどうかを確認します。 –

+0

私はあなたがスクリプトのセキュリティを犠牲にすることなくこの情報にアクセスできるとは思っていません。 – StephenKing

関連する問題