jira数据rest api jql查询

jira数据rest api jql查询,jira,jira-rest-api,Jira,Jira Rest Api,我需要每月根据jira的优先顺序报告门票数量。我知道我可以通过使用过滤器/高级搜索在jira门户网站上做到这一点。但是它给了我所有的票的细节,而不是我想要的。我正试图做这方面的报道。那么最好的方法是什么呢?我尝试使用jql使用curl和jirarestapi,但这给了我一个包含所有细节的json文件。我只需要按优先顺序列出车票的数量。jql可以这样做吗?还是我必须将json文件加载到某个应用程序中并对其进行解析?没有一种方法可以使用jql或REST API专门选择计数 但是,限制从JIRA返回大

我需要每月根据jira的优先顺序报告门票数量。我知道我可以通过使用过滤器/高级搜索在jira门户网站上做到这一点。但是它给了我所有的票的细节,而不是我想要的。我正试图做这方面的报道。那么最好的方法是什么呢?我尝试使用jql使用curl和jirarestapi,但这给了我一个包含所有细节的json文件。我只需要按优先顺序列出车票的数量。jql可以这样做吗?还是我必须将json文件加载到某个应用程序中并对其进行解析?

没有一种方法可以使用jql或REST API专门选择计数

但是,限制从JIRA返回大型结果集的解决方案是使用
POST/rest/api/2/search
api方法,该方法允许您提供一个JQL查询以及要在结果集中返回的字段和要返回的结果数

相关JIRA文件如下:

例如:

{
  "jql": "project = PROJECTKEY and priority = \"Must Have\"",
  "maxResults": 1,
  "fields": ["status"]
}
这将返回一个包含结果数的JSON对象。提供
maxResults:1
意味着问题列表中只返回一个结果

{
  "expand": "names,schema",
  "startAt": 0,
  "maxResults": 1,
  "total": 354,
  "issues": [
    {...}
   ]
}
然后,您可以使用
total
属性进行计数

使用cURL的具体示例:

curl -i -u username:password  -H "Content-Type: application/json" -H "Accept: application/json" -X POST -d '{"jql": "project = PROJECTKEY and priority = \"Must Have\"","fields": ["status"], "maxResults": 1}' https://jira.url/rest/api/2/search
不幸的是,这种解决方案存在局限性

  • 您需要提供优先级作为输入(而不是简单地让JIRA汇总结果)
  • 您需要为每个优先级发出一个请求,以便检索所有已知优先级的计数
  • 如果这些限制不可接受,则可以选择项目的所有问题,并仅返回
    优先级
    字段。然后,您必须自己解析JSON并聚合结果。但是请注意,API的结果是分页的,因此您不一定会从单个结果返回所有问题

    来自JIRA REST API文档

    maxResults(int)
    要返回的最大问题数(默认为50)。允许的最大值由JIRA属性“JIRA.search.views.default.max”指定。如果指定的值高于此数字,则搜索结果将被截断。

    我发现查询字段值中的空格必须作为\\u0020提供。