我的场景是,我已经参数化了构建,在构建部分内部,我已经执行了shell,我在其中定义了一个变量,然后使用echo来打印它。但它不会在控制台输出中打印任何内容。
我希望我已经说清楚了。有人可以回答我的问题吗?
public void doFilter(request , response , chain) {
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
CharResponseWrapper responseWrapper = new CharResponseWrapper(httpServletResponse);
ServletResponse newResponse = response;
if (request instanceof HttpServletRequest) {
newResponse = new CharResponseWrapper((HttpServletResponse) response);
}
chain.doFilter(request, newResponse);
if (newResponse instanceof CharResponseWrapper) {
String responseString = newResponse.toString();
if(StringUtils.isNotBlank(walletResponseString)) {
//code to handle response by converting to object
}
}
}
答案 0 :(得分:0)
我正在使用 Jenkins ver。 2.32.3 和一个简单的自由式作业,在mac OS上运行,使用执行shell构建步骤:
current_folder=`date +%Y%m%d-%H%M%S`
echo $current_folder
输出:
$ /bin/sh -xe /var/folders/kh/4fl0eeldofefmmsfd/T/hudson89388543547899686.sh
++ date +%Y%m%d-%H%M%S
+ current_folder=20180613-081712
+ echo 20180613-081712
20180613-081712
Finished: SUCCESS
以类似的方式设置shell:
#!/bin/bash
current_folder=`date +%Y%m%d-%H%M%S`
echo $current_folder
给出:
$ /bin/bash /var/folders/kh/by0kd93dfew5fgjhy000h6/T/hudson62702345565786787.sh
20180613-081655
Finished: SUCCESS
这同样适用于作为Jenkins作业的一部分定义的参数,在<
设置This project is parameterized
复选框。例如,如果您有一个名为userName
的字符串参数,默认值为User1
,那么您可以使用以下内容在Execute Shell
构建步骤中打印它的值:
echo $userName
echo ${userName}
echo "In a string ${userName}"
,并提供:
User1
User1
In a string User1