Java 拆分一个大Jira休息请求

Java 拆分一个大Jira休息请求,java,rest,jira,Java,Rest,Jira,我正在寻找一个机会来拆分一个大请求,例如: rest/api/2/search?jql=(project in(project1,project2,project3…project10))和issuetype=Bug和(component not in(projectA,projectB)或component=EMPTY)。结果将包含>500个bug->速度非常慢。我想用不同的请求获取它们(methode执行请求将用@Asynchronous注释),但是jql需要相同。我不想单独搜索projec

我正在寻找一个机会来拆分一个大请求,例如:
rest/api/2/search?jql=(project in(project1,project2,project3…project10))和issuetype=Bug和(component not in(projectA,projectB)或component=EMPTY)
。结果将包含>500个bug->速度非常慢。我想用不同的请求获取它们(methode执行请求将用@Asynchronous注释),但是jql需要相同。我不想单独搜索project1、project2…project10。如果有人有办法解决我的问题就好了。
谢谢:)

你不能分成两部分吗?如果您正在网页中显示(在不影响性能的情况下尽可能显示)。如果是报告,则逐步获取所有对象,并在完成后显示

  • 获取JQL的总计数&只需获取步骤2所需的最小信息-假设其值为900
  • 使用分页功能(maxResults=100)进行多个调用
  • 处理每个请求

  • 您需要计算分页。首先获取元数据

    rest/api/2/search?jql=[complete search query]&fields=*none&maxResults=0
    
    你应该得到这样的东西:

    {"startAt":0,"maxResults":0,"total":100,"issues":[]}
    
    所以完全没有字段,只是分页元数据

    rest/api/2/search?jql=[complete search query]&fields=*none&maxResults=0
    
    而不是像这样创建搜索URI

       rest/api/2/search?jql=[complete search query]&startAt=0&maxResults=10
       rest/api/2/search?jql=[complete search query]&startAt=10&maxResults=10
       ..etc
    

    当心数据应该更改,因此您应该做好准备,以免收到所有数据,并且如果计算成本较高(特别是“总计”),也不应显示分页元数据。更多信息

    如果您不想同时运行两个请求,并且需要按用户请求分页错误,您可以:

  • 使用“maxResults”属性设置为所需数量的请求
  • 在下一个请求中,使用相同的值设置“maxResults”属性和“startAt”
  • 如果您需要获取更多数据,请使用相同的“maxResults”发出新请求,但将“startAt”更新为您在以前请求中获取的bug数