我使用HTTP Request Plugin来调用基于REST的Web服务。在这些调用中,我想以JSON格式传递请求正文中的控制台输出URL。
我正在使用环境变量${BUILD_URL}/console
构建控制台输出URL。
环境变量替换适用于URL,但不适用于请求正文。有关代码更改的任何建议,需要对插件代码进行更改才能使其正常工作。有人可以分享有关Jenkins如何进行变量替换以及为什么它在这种情况下不起作用的信息。
以下是JSON请求正文:
{'state':'4', 'short_description':'${BUILD_URL}console'}
答案 0 :(得分:0)
我能够找到解决方案。测试并确认它正在工作。
您需要在HttpRequest.java
的{{1}}方法中添加以下行:
perform
在调用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
成员是否存在环境变量。