背景:shell脚本测试后要自动提交bug到禅道,但为了避免相同问题多次提交,需在提交前检查bug是否存在
实现方案:shell脚本对测试出的问题现在禅道的未关闭bug中进行检索,如果已有相同bug则不再提交改bug,如果没有则提交
问题:shell中curl http请求禅道bug列表得到的数据是json格式,并且bug的title是Unicode编码格式,没有办法直接提取出bug的title做去重检测
解决方法:
1、安装jq
2、在shell命令行处理json数据,curl -b cookie.txt ‘http://XXXX/zentao/bug-browse.json’ |jq .data | sed ‘s/\"/"/g’ | sed ‘s/^"//g’ | sed ‘s/"$//g’ | sed ‘s/\\/\/g’ | jq ‘.bugs[] | .title’ | sed ‘s/"//g’ >bugs.txt
注意:在发送http请求buglist前需要先发登录禅道请求,保存其cookie,否则请求buglist的页面会跳转到登录页面