概要
Node.jsからjenkinsのREST APIを叩く。今回は jenkins-api を使用。
初期化
var jenkins = jenkinsapi.init("http://user:token@url/");
job実行
var jobName = 'testjob';
jenkins.build(jobName, function(err, data) {
if (err){ return console.log(err); }
console.log(data)
});
job名が日本語の場合はエスケープ
job名が日本語の場合、encodeURIComponent
を通す。
そもそも日本語のjob名はよろしくないのでASCIIで統一しましょう。
var jobNameJapanese = 'テスト job02';
jenkins.build(encodeURIComponent(jobNameJapanese), function(err, data) {
if (err){ return console.log(err); }
console.log(data);
});
パラメータの指定方法
実際にjenkinsにてジョブ作成などを行った経験がない場合、どれをkey-valueに設定するかがわかりづらい気がする。
「job名」 > 「設定」
上図の場合だと実装は以下のようになる。keyは文字列指定ではないので注意。
jenkins.build('JOB_BUILD_SERVER', {server: 'server01'}, function(err, data) {
if (err){ return console.log(err); }
console.log(data);
});
参考
[GitHub] - jenkins-api
https://github.com/jansepar/node-jenkins-api