繁体   English   中英

用于调用curl的Shell / bash脚本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM