通过jenkins 管道 pipeline来到JIRA API中创建发布版本信息
开始的pipeline 中使用的代码块:
AUTH_TOKEN=$(echo -n 'username:password' | base64)
curl -X POST \ -H 'Content-Type: application/json' \ -H "Authorization: Basic $AUTH_TOKEN" \ --data '<your-request-body>' \ '<your-request-url>'
运行时通过已有的用户名和密码来生成token,运行结果一直是bad request 400.
通过postman比对,还有json信息的验证,一切都很正确的样子。
在curl命令行中加入了 -v 参数来进行debug分析,结果还是一样,有错误就是不告诉你在哪里。
一般来说400错误往往是json body数据格式不对, 这里使用了python工具对数据进行了验证分析
echo '{"name": "Test-123.33.33", "archived": false, "released": false, "releaseDate": "2023-04-11", "project": "Test"}' | python -m json.tool
返回结果完全🈚️任何问题,也就是json body 完全正确。
继续通过查看详细的curl执行日志,发现新生成的token中居然有换行符,这个是不应该有的,因为echo命令中使用了-n选项来删除所有换行符。
抱着试一试的心态,再一次杀一次换行符:
echo -n "username:password" | base64 | tr -d '\n'
再一次运行bash,结果201 就这么解决了。
搞bash编程真的不容易啊。。。。。