REST API や CQL でコンテンツを検索したときに結果が常に 50 件に制限される

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問


プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

要約

REST API や Confluence クエリ言語 (CQL) を利用してコンテンツを検索したときに limit パラメーターを利用したにもかかわらず、返される結果の上限が常に 50 件になる。例:

BASEURL/rest/api/content/search?expand=space,body.view,history.lastUpdated&cql=type=page+AND+space.type=global+AND+lastmodified>2020-09-27&start=0&limit=50&status=current


原因

CQL で rest/api/content/search エンドポイントを利用する際、リクエストされた expand に基づいて返される結果の数を決定する上限が、バックエンドでハードコードされています。"body" の expand が指定されている場合、上限は 50 に設定されます。expand が指定されていない場合、上限は 1000 になります。"body" 以外の expand が指定されている場合、上限は 200 に設定されます。 

ソリューション

エンドポイントを利用する際に "body" expand を指定しない。上記の例を使う場合、リクエストを次のようにします。

BASEURL/rest/api/content/search?expand=space,history.lastUpdated&cql=type=page+AND+space.type=global+AND+lastmodified>2020-09-27&start=0&limit=50&status=current

これで最大 200 件の結果が返されます。 

最終更新日 2020 年 11 月 25 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.