Аякс звонит из jquery на работу Дженкинса - PullRequest
0 голосов
/ 11 июня 2018
 var milestone_name = uiscripts.context.milestone.name;

    //AJAX block start
    $.ajax({
      url: "https://ctu-automation-server:8080/job/Check/build",
      type: "GET"
    });
    //AJAX block end

Выше ajax-вызов поступает с удаленного сервера на задание Jenkins на каком-либо другом сервере.При запуске скрипта я получаю такой ответ:

GET https://ctu-automation-server:8080/job/Check/build 0 ()

Я тоже пытался с операцией POST.Если я использую http, он говорит, что контент должен обслуживаться через https, и поэтому я заменил URL на https.

Примечание: задание Jenkins допускает анонимные триггеры, и я могу запустить его локально.

В чем причина ответа 0?Есть другие идеи?

1 Ответ

0 голосов
/ 11 июня 2018

Возможно, вы столкнулись с тем, что CORS блокирует ваш запрос;если вы попробуете это в FireFox, вы получите более полезное сообщение об ошибке:

Запрос перекрестного источника заблокирован: та же политика происхождения запрещает чтение удаленного ресурса в https://my.jenkins.example.com/job/jobName/build. (причина:Отсутствует заголовок CORS «Access-Control-Allow-Origin».

В браузерах запросы к другим веб-сайтам ограничены CORS по соображениям безопасности.См. https://enable -cors.org / .Вы можете попробовать использовать этот плагин Jenkins для разрешения запросов с вашего сайта https://wiki.jenkins.io/display/JENKINS/Cors+Filter+Plugin

...