LoginSignup
5
2

More than 5 years have passed since last update.

Jenkins Workflow pluginでビルドのパラメータを取得する

Last updated at Posted at 2015-02-02

やりたかったこと

  • ビルドのパラメータをWorkflow内で参照する
  • Buildflow pluginでいう params['VAR1']

結論

  • yasuhirokiさんの記事 に書かれてるやり方で取れました
  • パラメータを取るだけですが結構大変です
  • 【訂正】単にパラメータを参照するだけならば VAR1 だけで取れました
    • 受け取ったパラメータを全部取りたいような場合はyasuhirokiさんの記事のようにするとよいようです
    • 以下に書くのは全部取り出したい場合、下流ジョブに全パラメータを渡すような場合に使えそうです(がちょっと扱いにくそう)
    • 教えていただいたyasuhirokiさんに感謝!

スクリーンショット 2015-02-02 11.59.46.png

Script (Groovy CPS DSL)

current_env = this.getProperty("env"). getEnvironment()
current_build = Jenkins.instance.getItemByFullName(current_env['JOB_NAME']).getBuildByNumber(current_env['BUILD_NUMBER'].toInteger())
current_params = current_build.getActions(ParametersAction.class). parameters[0]

echo "current_env: ${current_env}"
echo "current_build: ${current_build}"
echo "current_params: ${current_params}"

結果

current_env: [BUILD_DISPLAY_NAME:#5, BUILD_ID:5, BUILD_NUMBER:5, BUILD_TAG:jenkins-TEST-workflo-params-5, BUILD_URL:https://your-domain.com/ci/build/job/TEST-workflo-params/5/, CLASSPATH:, HUDSON_HOME:/var/lib/jenkins, HUDSON_SERVER_COOKIE:37c38c47b14a0acf, HUDSON_URL:https://your-domain.com/ci/build/, JENKINS_HOME:/var/lib/jenkins, JENKINS_SERVER_COOKIE:37c38c47b14a0acf, JENKINS_URL:https://your-domain.com/ci/build/, JOB_NAME:TEST-workflo-params, JOB_URL:https://your-domain.com/ci/build/job/TEST-workflo-params/]

current_build: TEST-workflo-params #5

current_params: [(StringParameterValue) VAR1='hoge', (StringParameterValue) VAR2='fuge']

できなかった

  • 当然 params['VAR1'] では取れませんでした(エラー)

groovy.lang.MissingPropertyException: No such property: params for class: WorkflowScript

  • env.VAR1 でもしかして、と思ったけど取れませんでした(エラーにはならなかったけどnull)

null

5
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2