2016-07-05 6 views
0

Я использую HTTP Request Plugin для совершения звонков на веб-службу, основанной на REST. В этих вызовах я хочу передать выходной URL-адрес консоли в форме запроса в формате JSON.Переменные среды Susbstitute в шаблоне запроса HttpRequest плагина Jenkins

Я создаю выходной URL-адрес консоли, используя переменную окружения ${BUILD_URL}/console.

Подстановка переменных окружения работает для URL-адреса, но не для тела запроса. Любые предложения по изменению кода, которые необходимо внести в код плагина, чтобы он работал. Может кто-то, пожалуйста, поделиться информацией о том, как именно Дженкинс делает переменную подстановку и почему она не работает в этом случае.

Ниже тело запроса JSON:

{'state':'4', 'short_description':'${BUILD_URL}console'} 

ответ

0

мне удалось выяснить решение. Протестировано и подтвердило, что оно работает.

Вам нужно добавить строку ниже в perform методы HttpRequest.java «s:

public boolean perform(AbstractBuild<?,?> build, Launcher launcher, BuildListener listener){ throws InterruptedException, IOException 
requestBody = evaluate(requestBody, build.getBuildVariableResolver(), envVars); 
//rest of the code as it is 
} 

Просто убедитесь, что вы добавляете строку оценить requestBody элемент на наличие переменных окружения в ней перед вызовом performHttpRequest(build, listener, evaluatedUrl, params) метода.