私の会社のマシンからジェンキンスジョブをトリガーし、成功したかどうかを返します。現在私は作成したURL(プライバシー保護用)を使ってジョブをトリガーすることができるので、URLが正しいか、パラメータが正しく渡されているかのように感じられ、コンソール出力に表示されます。そこには大丈夫です。しかし、ビルドが成功したかどうかを知りたい。リモートでビルドをトリガーした後にJenkinsからの応答を取得するには
ほとんどの例から、成功を示すステータスコード(201)を持つジェンキンズからの応答があります。しかし、私はコールバック関数で何も受け取っていません。何か案は?
function onButtonClick()
{
var JenkinsURL = "http://mycompany:8080/view/project/job/jobname/buildWithParameters?token=TokenHere";
var params = new Object();
params.Data1 = "Data";
params.Data2 = "";
for (var i = 0; i < list.length; i++) {
params.Data2 += list[i];
}
$.ajax(
{
url: JenkinsURL,
method: 'POST',
data: params,
dataType: 'json',
success: RebootCallback,
fail: RebootCallback,
}
);
}
function RebootCallback(result)
{
alert(result);
}
ああ、それはすぐには実行されません。あなたは私の要求に対する応答に場所が含まれていると言いますが、それは私の問題です。私は全く応答を受けていません。投稿されたコードに問題があり、それが返答を受け取らないことになりますか? –
Javascriptの詳細についてはわかりません。しかし、このサイトのいくつかのクイック検索では、JavascriptがJenkinsサーバーと同じ起点で実行されていない場合、jQueryの自動追従リダイレクト(201応答では発生しないはずです)とCORSヘッダーが必要です。 –