【问题标题】:How to get all of my Issues in my Bitbucket repository using the API如何使用 API 在我的 Bitbucket 存储库中获取我的所有问题
【发布时间】:2026-02-21 03:35:01
【问题描述】:

我正在使用 Java 并通过 Unirest.get 发出了一个获取请求(请参阅下面的代码)。

代码运行良好,但我有一个大问题:我没有得到所有问题,只有 20 个。

你能告诉我为什么我没有得到所有这些吗?

String json = new Gson().toJson(Unirest.get("https://api.bitbucket.org/2.0/repositories/{username}/{repo_slug}/issues")
            .header("Authorization", "Basic " + encoded)
            .header("Content-Type", "application/json; charset=UTF-8")
            .header("Accept", "application/json; charset=UTF-8")
            .asJson());
System.out.println(json);

当我将输出复制到 .json 文件中时,我并没有像我预期的那样得到所有问题。

【问题讨论】:

  • 可能在您的问题中包含(部分)响应负载?是否正在进行分页?或者查看文档,是否有指定响应大小或页码的请求参数?
  • Api 说如果我提出这个获取请求,我将在我的问题跟踪器中获取我的所有问题,而无需编辑参数。如果我使用 queyString 并按特定问题过滤,我会得到这个问题,但是当我执行我的代码时,问题不在 json 输出中。我也尝试设置限制但不工作
  • 你是对的,分页代码工作正常。谢谢你:)

标签: java bitbucket bitbucket-server bitbucket-api


【解决方案1】:

The docs 声明有一个参数pagelen 有这样的描述:

现有页面上的当前对象数。 默认值为 10,其中 100 是允许的最大值。个别 API 可能 强制执行不同的值。

所以似乎正在进行分页,您可以将此pagelen 设置为更大,或者您可以获取next 属性,这是一个指向下一页对象的URI,并以这种方式加载剩余的对象.

带有pagelen 的示例网址,共100 个inspired by this

https://api.bitbucket.org/2.0/repositories/{username}/{repo_slug}/issues?pagelen=100

【讨论】:

    最近更新 更多