2016-07-05 73 views
0

我正在使用HTTP Request Plugin来调用基于REST的Web服务。在这些调用中,我想以JSON格式在请求正文中传递控制台输出URL。Jenkins的HttpRequest插件的请求正文中的环境变量

我正在使用环境变量${BUILD_URL}/console构建控制台输出URL。

环境变量替换适用于URL,但不适用于请求正文。需要对插件代码进行代码更改的任何建议,以使其工作。有人可以分享一下Jenkins如何做变量替换以及为什么它不起作用。

下面是JSON请求体:

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

回答

0

我能找出解决方案。测试并确认它正在工作。

您需要添加以下行HttpRequest.javaperform方法:

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 
} 

只要确保你添加行,你叫performHttpRequest(build, listener, evaluatedUrl, params)方法之前,以评估它的环境变量的存在requestBody成员。