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 を設定してジョブを実行できます。
パラメータをURLエンコードするのを忘れずに