## SearchRepositories `runners.search_repositories(RunnerSearchRepositoriesParams**kwargs) -> RunnerSearchRepositoriesResponse` **post** `/gitpod.v1.RunnerService/SearchRepositories` Searches for repositories across all authenticated SCM hosts. Use this method to: - List available repositories - Search repositories by name or content - Discover repositories for environment creation Returns repositories from all authenticated SCM hosts in natural sort order. If no repositories are found, returns an empty list. ### Examples - List all repositories: Returns up to 25 repositories from all authenticated hosts. ```yaml runnerId: "d2c94c27-3b76-4a42-b88c-95a85e392c68" ``` - Search repositories: Searches for repositories matching the query across all hosts. ```yaml runnerId: "d2c94c27-3b76-4a42-b88c-95a85e392c68" searchString: "my-project" limit: 10 ``` ### Parameters - `limit: Optional[int]` Maximum number of repositories to return. Default: 25, Maximum: 100 Deprecated: Use pagination.page_size instead - `pagination: Optional[Pagination]` Pagination parameters for repository search - `token: Optional[str]` Token for the next set of results that was returned as next_token of a PaginationResponse - `page_size: Optional[int]` Page size is the maximum number of results to retrieve per page. Defaults to 25. Maximum 100. - `runner_id: Optional[str]` - `scm_host: Optional[str]` The SCM's host to retrieve repositories from - `search_mode: Optional[SearchMode]` Search mode determines how search_string is interpreted - `"SEARCH_MODE_UNSPECIFIED"` - `"SEARCH_MODE_KEYWORD"` - `"SEARCH_MODE_NATIVE"` - `search_string: Optional[str]` Search query - interpretation depends on search_mode ### Returns - `class RunnerSearchRepositoriesResponse: …` - `last_page: Optional[int]` Deprecated: Use pagination token instead. Total pages can be extracted from token. - `pagination: Optional[Pagination]` Pagination information for the response. Token format: "NEXT_PAGE/TOTAL_PAGES/TOTAL_COUNT" (e.g., "2/40/1000"). Use -1 for unknown values (e.g., "2/-1/-1" when totals unavailable). Empty token means no more pages. - `next_token: Optional[str]` Token passed for retrieving the next set of results. Empty if there are no more results - `repositories: Optional[List[Repository]]` List of repositories matching the search criteria - `name: Optional[str]` Repository name (e.g., "my-project") - `url: Optional[str]` Repository URL (e.g., "https://github.com/owner/my-project") ### Example ```python import os from gitpod import Gitpod client = Gitpod( bearer_token=os.environ.get("GITPOD_API_KEY"), # This is the default and can be omitted ) response = client.runners.search_repositories( runner_id="d2c94c27-3b76-4a42-b88c-95a85e392c68", ) print(response.last_page) ``` #### Response ```json { "lastPage": 0, "pagination": { "nextToken": "nextToken" }, "repositories": [ { "name": "name", "url": "url" } ] } ```