issues_and_pull_requests
Creates, updates, deletes, gets or lists an issues_and_pull_requests resource.
Overview
| Name | issues_and_pull_requests |
| Type | Resource |
| Id | github.search.issues_and_pull_requests |
Fields
The following fields are returned by SELECT queries:
- issues_and_pull_requests
Response
| Name | Datatype | Description |
|---|---|---|
incomplete_results | boolean | |
items | array | |
lexical_fallback_reason | array | When a semantic or hybrid search falls back to lexical search, this field contains the reasons for the fallback. Only present when a fallback occurred. |
search_type | string | The type of search that was performed. Possible values are lexical, semantic, or hybrid. (lexical, semantic, hybrid) |
total_count | integer |
Methods
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
issues_and_pull_requests | select | q | sort, order, per_page, page, advanced_search, search_type | Find issues by state and keyword. This method returns up to 100 results per page. When searching for issues, you can get text match metadata for the issue title, issue body, and issue comment body fields when you pass the text-match media type. For more details about how to receive highlightedsearch results, see Text match metadata. For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this. q=windows+label:bug+language:python+state:open&sort=created&order=ascThis query searches for the keyword windows, within any open issue that is labeled as bug. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results.> [!NOTE] > For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the is:issue or is:pull-request qualifier will receive an HTTP 422 Unprocessable Entity response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the is qualifier, see "Searching only issues or pull requests." |
Parameters
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
q | string | The query contains one or more search keywords and qualifiers. Qualifiers allow you to limit your search to specific areas of GitHub. The REST API supports the same qualifiers as the web interface for GitHub. To learn more about the format of the query, see Constructing a search query. See "Searching issues and pull requests" for a detailed list of qualifiers. |
advanced_search | string | Set to true to use advanced search. Example: http://api.github.com/search/issues?q={query}&advanced_search=true |
order | string | Determines whether the first search result returned is the highest number of matches (desc) or lowest number of matches (asc). This parameter is ignored unless you provide sort. |
page | integer | The page number of the results to fetch. For more information, see "Using pagination in the REST API." |
per_page | integer | The number of results per page (max 100). For more information, see "Using pagination in the REST API." |
search_type | string | The type of search to perform on issues. When not specified, the default is lexical search. - semantic — performs a pure semantic (vector) search using embedding-based understanding. - hybrid — combines semantic search with lexical search for best results. Semantic and hybrid search require authentication and are rate limited to 10 requests per minute. Only applies to issue searches (/search/issues). |
sort | string | Sorts the results of your query by the number of comments, reactions, reactions-+1, reactions--1, reactions-smile, reactions-thinking_face, reactions-heart, reactions-tada, or interactions. You can also sort results by how recently the items were created or updated, Default: best match |
SELECT examples
- issues_and_pull_requests
Find issues by state and keyword. This method returns up to 100 results per page.
When searching for issues, you can get text match metadata for the issue title, issue body, and issue comment body fields when you pass the text-match media type. For more details about how to receive highlighted
search results, see Text match metadata.
For example, if you want to find the oldest unresolved Python bugs on Windows. Your query might look something like this.q=windows+label:bug+language:python+state:open&sort=created&order=asc
This query searches for the keyword windows, within any open issue that is labeled as bug. The search runs across repositories whose primary language is Python. The results are sorted by creation date in ascending order, which means the oldest issues appear first in the search results.
> [!NOTE]
> For requests made by GitHub Apps with a user access token, you can't retrieve a combination of issues and pull requests in a single query. Requests that don't include the is:issue or is:pull-request qualifier will receive an HTTP 422 Unprocessable Entity response. To get results for both issues and pull requests, you must send separate queries for issues and pull requests. For more information about the is qualifier, see "Searching only issues or pull requests."
SELECT
incomplete_results,
items,
lexical_fallback_reason,
search_type,
total_count
FROM github.search.issues_and_pull_requests
WHERE q = '{{ q }}' -- required
AND sort = '{{ sort }}'
AND order = '{{ order }}'
AND per_page = '{{ per_page }}'
AND page = '{{ page }}'
AND advanced_search = '{{ advanced_search }}'
AND search_type = '{{ search_type }}'
;