[英]Shell/bash script for invoking curl
如果我在CSV文件中的字段中遇到失败,我需要调用Rest api调用:
我有一个CSV文件,如下所示:
项目 api_name api_result 响应
xyz PASS 200,日期:2015年11月16日星期一20:52:26
b abc失败501,日期:2015年11月17日星期一20:52:26
c mas PASS 200,Date:Mon,18 Nov 2015 20:52:26
我需要一个shellbash脚本来执行以下操作
1)每次在api_result中出现FAIL时调用curl。
2)将值从CSV传递到我的curl命令。 示例我需要将CSV中api_name的值作为摘要传递给我的数据,如下所示:
请求:
curl POST --data {see below} -H "Content-Type: application/json" http://localhost:8090/rest/api/2/issue/
数据
{
"fields": {
"summary": **$api_name**
}
}
我也开放替代选项,而不是shell / bash脚本。 我尝试使用Shell进行此操作的原因是因为我正在使用Jenkins。
您描述的输入并不是真正的CSV格式,但是假设输入与您所显示的相同,并且位于名为input.txt的文件中,则以下概述了您可以采用的一种方法(使用bash):
while read project api_name api_result etc
do
if [ "$api_result" = "FAIL" ] ; then
echo curl ... $'\'{"fields": { "summary": "' "$2" $'" }}\''
fi
done < <(cat input.txt)
假设project和api_name作为输入行上的前两个标记出现。 如果不是这种情况,那么您可能需要考虑首先修改input.txt,使其采用TSV(制表符分隔的值)格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.