Help us understand the problem. What is going on with this article?

JenkinsジョブをAPI経由でパラメータ付きビルドする

More than 5 years have passed since last update.

JenkinsのジョブをAPI経由で呼び出すことは多々あると思いますが、ジョブにパラメータがセットされている場合の呼び出し方法をメモ。

環境情報(仮)

仮に環境は以下だったとします。

  • Jenkinsホスト名
    • jenkins-host
  • job名
    • job-test
  • jobの実行ユーザとAPIトークン
    • testuser
    • api_token

パラメータなしでのビルド

パラメータが不要なジョブを実行する場合は

non_parameter_job
$ curl -X POST --user testuser:api_token http://jenkins-host/job/job-test/build

で実行できます

パラメータ付きでのビルド

一方、パラメータが必要なジョブを実行する場合ですが、QueryStringとして付与するほかに、URLの 'build' の部分を buildWithParameters に変更する必要があります。

  • パラメータ名
    • no

だとすると

with_parameter_job
$ curl -X POST --user testuser:api_token http://jenkins-host/job/job-test/buildWithParameters?no=1

で 'no' に 1 を設定してジョブを実行できます。

:warning: パラメータをURLエンコードするのを忘れずに

kentana20
LiverpoolFCを愛するエンジニア。 株式会社一休で宿泊サイト「一休.com」の開発・運用をやってます。
http://kentana20.hatenablog.com/
ikyu
「こころに贅沢を」をコンセプトに一休.com、一休レストランなどのサービスを提供しています。
https://www.ikyu.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away