2013-10-24 2 views
8

Я пытаюсь получить информацию об одной задаче, построенной из ави, предоставленной Дженкинсом с помощью Angularjs.Доступный API Jenkin от AngularJS

JSONP фактически отключена на Дженкинс:

Jenkins Security Advisory 2013-02-16

так что эта часть кода не может работать:

var url = 'http://jenkins-server:8080/job/job-name/api/json?jsonp=callback'; 
$http.jsonp(url).success(function (data) { 
    console.log(data); 
}); 

бросок:

Uncaught SyntaxError: Unexpected token : 

Cors не включен по умолчанию ... честно говоря, я не могу найти способ установить эти плагины:

и этот код не может работать, а

var url = 'http://jenkins-server:8080/job/job-name/api/json' 
$http({url: url, method: 'GET'}).success(function(data){console.log(data)}) 

Любая идея?

+0

Какой браузер вы с помощью? CORS не поддерживается ниже IE10. – GrantByrne

+0

@ GrantByrne имеет частичную поддержку в IE8 и IE9 через XDomainRequest –

+1

Я использую хром. IE отстой ;-) – Mauro

ответ

0

@Mauro, начиная с Jenkins 1.537, вы можете реализовать «jenkins.security.SecureRequester» и разрешить работу json.

Вы просто должны реализовать метод permit(StaplerRequest req, Object bean) и ваши валидации там и просто возвращает истину (на основании вашего результата проверки), чтобы запрос.

Как только вы это сделаете, вы можете просто использовать первый код, который вы употребили в своем вопросе.

Пример SecureRequester Реализация: -

import hudson.Extension; 
import jenkins.security.SecureRequester; 
import org.kohsuke.stapler.StaplerRequest; 

@Extension 
public class AllowRequest implements SecureRequester { 

    public boolean permit(StaplerRequest req, Object bean) { 

     // A method to validate the request and return the appropriate result 
     return YOUR_VALIDATION_METHOD(req,bean); 
    } 

    private boolean YOUR_VALIDATION_METHOD(StaplerRequest req, Object bean) { 
     // validation goes here 
    } 

} 

Вы должны построить это как плагин и установить его в вас настройки Jenkins работать.

2

Кажется, теперь есть плагин для запросов белого списка JSON ... Просто зайдите в плагины и найдите JSON.

Плагин безопасного доступа.

Смежные вопросы