如何通过JIRA REST API查询日期范围?
我想通过日期范围查询问题,例如:如何通过JIRA REST API查询日期范围?,jira,jira-rest-api,jql,Jira,Jira Rest Api,Jql,我想通过日期范围查询问题,例如: created >= 2016-04-03 and created <= 2016-04-30 像这样的帖子: rest/api/2/search?jql=project=test &created... {'jql':'project = test','startAt':0,'maxResults':10,...} 我认为您缺少的是将+放在空格所在的位置。例如,+和+。 这适用于GET请求 /rest/api/2/search?jql
created >= 2016-04-03 and created <= 2016-04-30
像这样的帖子:
rest/api/2/search?jql=project=test &created...
{'jql':'project = test','startAt':0,'maxResults':10,...}
我认为您缺少的是将
+
放在空格所在的位置。例如,+和+
。
这适用于GET请求
/rest/api/2/search?jql%3Dproject%3Dtest%2Band%2Bcreated%3E%3D2016-04-03%2Band%2Bcreated%3C%3D2016-04-30
在GET的中有一些关于如何处理GET和POST请求的文档:
- 而不是“&”使用“AND”。您可以在JIRA的屏幕中验证JQL是否正确
- 您必须对查询参数进行URL编码。如果你是手动尝试的话,你可以使用类似的网站。因此,您的完整URL将成为:
- 在jql语句中,应该使用“AND”而不是“&”(您可以在JIRA的问题搜索屏幕中验证您的jql是否正确)
- 在url中提交jql参数之前,我们可以使用“java.net.URLEncoder.encode()”对jql进行编码。
例如,我正在使用HttpClient提交请求,我想按日期范围查询:
String jql = "assignee = youwei.yao AND status = CLOSED AND created > = 2016-04-03 AND created < = 2016-04-03 order by created"; jql = URLEncoder. Encode (jql, "utf-8"); String url = "http://host:port/rest/api/2/search?jql=" + jql;
String jql=“受让人=youwei.yao和状态=关闭并创建>=2016-04-03并创建<=2016-04-03已创建订单”; jql=urlcoder。编码(jql,“utf-8”); 字符串url=”http://host:port/rest/api/2/search?jql=“+jql;
- 感谢所有回答问题的人
要解决这个问题,需要注意以下几点:
然后通过HttpClient使用此url提交请求谢谢您的回答,但是url,“/rest/api/2/search?jql=project=test+和+created>=2016-04-03+和+createdAhh,URL按照另一个答案对其进行编码将使其工作。我的浏览器显然对它不严格,只是在我尝试时接受了它!不必要的否决票,见上面的评论。。。编辑答案以供更正非常感谢您的回答。我的问题已经解决了,就像你说的,是URL编码问题。