如果我遇到CSV文件中的字段失败,我需要调用Rest api调用:
我有一个CSV文件,如下所示:
项目 api_name api_result 回复
xyz PASS 200,日期:星期一,2015年11月16日20:52:26
b abc FAIL 501,日期:星期一,2015年11月17日20:52:26
c mas PASS 200,日期:星期一,2015年11月18日20:52:26
我需要一个shellbash脚本来执行以下操作
1)每次api_result中都有失败时调用卷曲。
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。
答案 0 :(得分:0)
您描述的输入实际上不是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)
这假设项目和api_name显示为输入行上的前两个标记。如果不是这种情况,那么您可能要考虑首先修改input.txt,使其处于TSV(制表符分隔值)格式。