2016-07-05 99 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成員。