diff --git a/atlassian/bitbucket/cloud/repositories/__init__.py b/atlassian/bitbucket/cloud/repositories/__init__.py index cb1a5c053..8b63c0d01 100644 --- a/atlassian/bitbucket/cloud/repositories/__init__.py +++ b/atlassian/bitbucket/cloud/repositories/__init__.py @@ -27,7 +27,7 @@ class Repositories(RepositoriesBase): def __init__(self, url, *args, **kwargs): super(Repositories, self).__init__(url, *args, **kwargs) - def each(self, after=None, role=None, q=None, sort=None): + def each(self, after=None, role=None, q=None, sort=None, pagelen=None): """ Get all repositories matching the criteria. @@ -47,7 +47,9 @@ def each(self, after=None, role=None, q=None, sort=None): See https://developer.atlassian.com/bitbucket/api/2/reference/meta/filtering for details. :param sort: string: Name of a response property to sort results. See https://developer.atlassian.com/bitbucket/api/2/reference/meta/filtering for details. - + :param pagelen: int: Name of a response property to change page size. + See https://developer.atlassian.com/cloud/bitbucket/rest/intro/#pagination for details. + :return: A generator for the repository objects API docs: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories#get @@ -64,6 +66,8 @@ def each(self, after=None, role=None, q=None, sort=None): params["q"] = q if sort is not None: params["sort"] = sort + if pagelen is not None: + params["pagelen"] = pagelen for repository in self._get_paged(None, params): yield self._get_object(repository) diff --git a/atlassian/bitbucket/cloud/repositories/refs.py b/atlassian/bitbucket/cloud/repositories/refs.py index 0a14c6749..ee2ebb14d 100644 --- a/atlassian/bitbucket/cloud/repositories/refs.py +++ b/atlassian/bitbucket/cloud/repositories/refs.py @@ -32,7 +32,7 @@ def create( return self._get_object(self.post(None, data)) - def each(self, q=None, sort=None): + def each(self, q=None, sort=None, pagelen=None): """ Returns the list of refs in this repository. @@ -40,7 +40,9 @@ def each(self, q=None, sort=None): See https://developer.atlassian.com/bitbucket/api/2/reference/meta/filtering for details. :param sort: string: Name of a response property to sort results. See https://developer.atlassian.com/bitbucket/api/2/reference/meta/filtering for details. - + :param pagelen: int: Name of a response property to change page size. + See https://developer.atlassian.com/cloud/bitbucket/rest/intro/#pagination for details. + :return: A generator for the Ref objects """ params = {} @@ -48,6 +50,8 @@ def each(self, q=None, sort=None): params["sort"] = sort if q is not None: params["q"] = q + if pagelen is not None: + params["pagelen"] = pagelen for ref in self._get_paged(None, trailing=True, params=params): yield self._get_object(super(Refs, self).get(ref.get("name")))