我尝试过使用“,”和“将curl查询包含到jira实例中的各种迭代,以便获取特定修订版本的所有问题。
curl -D- -u username:password -X POST -H "Content-Type: application/json" -d '{"jql":"project = PROJ AND fixVersion=Version-1.2.3"}' "https://thejirainstall.com/jira/rest/api/2/search"
但是,在fixVersion上使用这个和其他一些更改,例如:
fixVersion="Version-1.2.3"
或
fixVersion=\"Version-1.2.3\"
或
fixVersion=Version-1\u002e2\u002e3
随意添加和删除引号。
那些没有失败的人彻底归来:
{"errorMessages":["Error in the JQL Query: '\\.' is an illegal JQL escape sequence. The valid escape sequences are \\', \\\", \\t, \\n, \\r, \\\\, '\\ ' and \\uXXXX. (line 1, character 38)"],"errors":{}}
如何转义句点.
或添加另一组引号?
答案 0 :(得分:1)
好的,事实证明Jira不允许在jql语法中使用版本名称。必须使用版本id
。
并且,为了获得版本ID,您必须解析https://thejirainstall.com/jira/rest/api/2/project/ON/versions?
现在这意味着我必须使用JSON解析器。所以,现在我通过homebrew install jq
我目前的解决方案是编写一个bash脚本,如下所示:
JIRA_FIXVERSION
fixVersionQuery='https://thejirainstall.com/jira/rest/api/2/project/ON/versions?';
myJSONResponse=`curl -u username:password -X GET -H "Content-Type: application/json" --insecure --silent $fixVersionQuery |jq '.[] | {id,name} | select(.name=="Version-1.2.3" | .["id"]'`;
echo $myJSONResponse;