You can search for issues and pull requests globally across all of GitHub, or search for issues and pull requests within a particular organization. For more information, see "About searching on GitHub."
Tips:
-
If your organization has opted-in to the public preview of advanced issue search, you can use boolean and nested queries on your repository's issues page. See "Filtering and searching issues and pull requests."
-
For a list of search syntaxes that you can add to any search qualifier to further improve your results, see "Understanding the search syntax".
-
Use quotations around multi-word search terms. For example, if you want to search for issues with the label "In progress," you'd search for
label:"in progress"
. Search is not case sensitive. -
Use a minus (hyphen) symbol to exclude results that match a qualifier. For example, to ignore issues created by the "octocat" user, you'd use
-author:octocat
in your search. Note that this does not work for missing metadata qualifiers. -
You can focus your cursor on the search bar above the issue or pull request list with a keyboard shortcut. For more information, see "Keyboard shortcuts."
Search only issues or pull requests
By default, GitHub search will return both issues and pull requests. However, you can restrict search results to just issues or pull requests using the type
or is
qualifier.
Qualifier | Example |
---|---|
type:pr | cat type:pr matches pull requests with the word "cat." |
type:issue | github commenter:defunkt type:issue matches issues that contain the word "github," and have a comment by @defunkt. |
is:pr | event is:pr matches pull requests with the word "event." |
is:issue | is:issue label:bug is:closed matches closed issues with the label "bug." |
Search by the title, body, or comments
With the in
qualifier you can restrict your search to the title, body, comments, or any combination of these. When you omit this qualifier, the title, body, and comments are all searched.
Qualifier | Example |
---|---|
in:title | warning in:title matches issues with "warning" in their title. |
in:body | error in:title,body matches issues with "error" in their title or body. |
in:comments | shipit in:comments matches issues mentioning "shipit" in their comments. |
Search within a user's or organization's repositories
To search issues and pull requests in all repositories owned by a certain user or organization, you can use the user
or org
qualifier. To search issues and pull requests in a specific repository, you can use the repo
qualifier.
If you have access to pull requests in more than 10,000 repositories, you will need to limit your search to a specific organization, personal account, or repository to see results.
Qualifier | Example |
---|---|
user:USERNAME | user:defunkt ubuntu matches issues with the word "ubuntu" from repositories owned by @defunkt. |
org:ORGNAME | org:github matches issues in repositories owned by the GitHub organization. |
repo:USERNAME/REPOSITORY | repo:mozilla/shumway created:<2012-03-01 matches issues from @mozilla's shumway project that were created before March 2012. |
Search by open or closed state
You can filter issues and pull requests based on whether they're open or closed using the state
or is
qualifier.
Qualifier | Example |
---|---|
state:open | libraries state:open mentions:vmg matches open issues that mention @vmg with the word "libraries." |
state:closed | design state:closed in:body matches closed issues with the word "design" in the body. |
is:open | performance is:open is:issue matches open issues with the word "performance." |
is:closed | android is:closed matches closed issues and pull requests with the word "android." |
Search for pull requests in the merge queue
You can also use the is
qualifier to find pull requests that are queued to merge.
Qualifier | Example |
---|---|
is:queued | is:queued matches pull requests that are currently queued to merge. |
Search by the reason an issue was closed
You can filter issues based on the reason given when the issue was closed, using the reason
qualifier.
Qualifier | Example |
---|---|
reason:completed | libraries is:closed reason:completed matches issues with the word "libraries" that were closed as "completed." |
reason:"not planned" | libraries is:closed reason:"not planned" matches issues with the word "libraries" that were closed as "not planned." |
Filter by repository visibility
You can filter by the visibility of the repository containing the issues and pull requests using the is
qualifier. For more information, see "About repositories."
Qualifier | Example |
---|---|
is:public | is:public matches issues and pull requests in public repositories. |
is:private | is:private cupcake matches issues and pull requests that contain the word "cupcake" in private repositories you can access. |
Search by author
The author
qualifier finds issues and pull requests created by a certain user or integration account.
Qualifier | Example |
---|---|
author:USERNAME | cool author:gjtorikian matches issues and pull requests with the word "cool" that were created by @gjtorikian. |
in:body author:USERNAME | bootstrap in:body author:mdo matches issues written by @mdo that contain the word "bootstrap" in the body. |
author:app/USERNAME | author:app/robot matches issues created by the integration account named "robot." |
- author:app/USERNAME | -author:app/robot matches issues created by any user other than the integration account named "robot." The minus sign, or dash character (- ) before the qualifier signifies a logical NOT for the qualifier in the search query. |
Search by assignee
The assignee
qualifier finds issues and pull requests that are assigned to a certain user. You can search for issues and pull requests that have any assignee by using the wildcard character *
, but only within a single repository. You can also search for issues and pull requests that have no assignee.
Qualifier | Example |
---|---|
assignee:USERNAME | assignee:vmg repo:libgit2/libgit2 matches issues and pull requests in libgit2's project libgit2 that are assigned to @vmg. |
assignee:* | is:open is:issue assignee:* matches open issues within a single repository that are assigned to any user. |
Search by mention
The mentions
qualifier finds issues that mention a certain user. For more information, see "Basic writing and formatting syntax."
Qualifier | Example |
---|---|
mentions:USERNAME | resque mentions:defunkt matches issues with the word "resque" that mention @defunkt. |
Search by team mention
For organizations and teams you belong to, you can use the team
qualifier to find issues or pull requests that @mention a certain team within that organization. Replace these sample names with your organization and team name to perform a search.
Qualifier | Example |
---|---|
team:ORGNAME/TEAMNAME | team:jekyll/owners matches issues where the @jekyll/owners team is mentioned. |
team:ORGNAME/TEAMNAME is:open is:pr | team:myorg/ops is:open is:pr matches open pull requests where the @myorg/ops team is mentioned. |
Search by commenter
The commenter
qualifier finds issues that contain a comment from a certain user.
Qualifier | Example |
---|---|
commenter:USERNAME | github commenter:defunkt org:github matches issues in repositories owned by GitHub, that contain the word "github," and have a comment by @defunkt. |
Search by a user that's involved in an issue or pull request
You can use the involves
qualifier to find issues that in some way involve a certain user. The involves
qualifier is a logical OR between the author
, assignee
, mentions
, and commenter
qualifiers for a single user. In other words, this qualifier finds issues and pull requests that were either created by a certain user, assigned to that user, mention that user, or were commented on by that user.
Qualifier | Example |
---|---|
involves:USERNAME | involves:defunkt involves:jlord matches issues either @defunkt or @jlord are involved in. |
in:body involves:USERNAME | NOT bootstrap in:body involves:mdo matches issues @mdo is involved in that do not contain the word "bootstrap" in the body. |
Search for my issues and pull requests
You can search for issues and pull requests you have created or have interacted with by following the desired qualifier with @me
. Any qualifier that works with a username allows you to limit your search to issues and pull requests you created, are assigned, mentioned on, or are requested as a reviewer of.
Qualifier | Example |
---|---|
author:@me | author:@me matches issues and pull requests you have authored. |
is:pr commenter:@me | is:pr commenter:@me matches pull requests you have commented on. |
Search for linked issues and pull requests
You can narrow your results to only include issues that are linked to a pull request by a closing reference, or pull requests that are linked to an issue that the pull request may close.
Qualifier | Example |
---|---|
linked:pr | repo:desktop/desktop is:open linked:pr matches open issues in the desktop/desktop repository that are linked to a pull request by a closing reference. |
linked:issue | repo:desktop/desktop is:closed linked:issue matches closed pull requests in the desktop/desktop repository that were linked to an issue that the pull request may have closed. |
-linked:pr | repo:desktop/desktop is:open -linked:pr matches open issues in the desktop/desktop repository that are not linked to a pull request by a closing reference. |
-linked:issue | repo:desktop/desktop is:open -linked:issue matches open pull requests in the desktop/desktop repository that are not linked to an issue that the pull request may close. |
Search by label
You can narrow your results by labels, using the label
qualifier. Since issues can have multiple labels, you can list a separate qualifier for each issue.
Qualifier | Example |
---|---|
label:LABEL | label:"help wanted" language:ruby matches issues with the label "help wanted" that are in Ruby repositories. |
in:body -label:LABEL label:LABEL | broken in:body -label:bug label:priority matches issues with the word "broken" in the body, that lack the label "bug", but do have the label "priority." |
label:LABEL label:LABEL | label:bug label:resolved matches issues with the labels "bug" and "resolved." |
label:LABEL,LABEL | label:bug,resolved matches issues with the label "bug" or the label "resolved." |
Search by milestone
The milestone
qualifier finds issues or pull requests that are a part of a milestone within a repository.
Qualifier | Example |
---|---|
milestone:MILESTONE | milestone:"overhaul" matches issues that are in a milestone named "overhaul." |
milestone:MILESTONE | milestone:"bug fix" matches issues that are in a milestone named "bug fix." |
Search by project
You can use the project
qualifier to find issues that are associated with a specific project. You must search projects by the project number. You can find the project number at the end of a project's URL.
Qualifier | Example |
---|---|
project:PROJECT_NUMBER | project:github/57 matches issues owned by GitHub that are associated with the organization's project 57. |
project:REPOSITORY/PROJECT_NUMBER | project:github-linguist/linguist/1 matches issues that are associated with project 1 in @github's linguist repository. |
Search by commit status
You can filter pull requests based on the status of the commits. This is especially useful if you are using the Status API or a CI service.
Qualifier | Example |
---|---|
status:pending | language:go status:pending matches pull requests opened into Go repositories where the status is pending. |
status:success | is:open status:success finally in:body matches open pull requests with the word "finally" in the body with a successful status. |
status:failure | created:2015-05-01..2015-05-30 status:failure matches pull requests opened on May 2015 with a failed status. |
Search by commit SHA
If you know the specific SHA hash of a commit, you can use it to search for pull requests that contain that SHA. The SHA syntax must be at least seven characters.
Qualifier | Example |
---|---|
SHA | e1109ab matches pull requests with a commit SHA that starts with e1109ab . |
SHA is:merged | 0eff326d6213c is:merged matches merged pull requests with a commit SHA that starts with 0eff326d6213c . |
Search by branch name
You can filter pull requests based on the branch they came from (the "head" branch) or the branch they are merging into (the "base" branch).
Qualifier | Example |
---|---|
head:HEAD_BRANCH | head:change is:closed is:unmerged matches pull requests opened from branch names beginning with the word "change" that are closed. |
base:BASE_BRANCH | base:gh-pages matches pull requests that are being merged into the gh-pages branch. |
Search by language
With the language
qualifier you can search for issues and pull requests within repositories that are written in a certain language.
Qualifier | Example |
---|---|
language:LANGUAGE | language:ruby state:open matches open issues that are in Ruby repositories. |
Search by number of comments
You can use the comments
qualifier along with greater than, less than, and range qualifiers to search by the number of comments.
Qualifier | Example |
---|---|
comments:n | state:closed comments:>100 matches closed issues with more than 100 comments. |
comments:n..n | comments:500..1000 matches issues with comments ranging from 500 to 1,000. |
Search by number of interactions
You can filter issues and pull requests by the number of interactions with the interactions
qualifier along with greater than, less than, and range qualifiers. The interactions count is the number of reactions and comments on an issue or pull request.
Qualifier | Example |
---|---|
interactions:n | interactions:>2000 matches pull requests or issues with more than 2000 interactions. |
interactions:n..n | interactions:500..1000 matches pull requests or issues with interactions ranging from 500 to 1,000. |
Search by number of reactions
You can filter issues and pull requests by the number of reactions using the reactions
qualifier along with greater than, less than, and range qualifiers.
Qualifier | Example |
---|---|
reactions:n | reactions:>1000 matches issues with more than 1000 reactions. |
reactions:n..n | reactions:500..1000 matches issues with reactions ranging from 500 to 1,000. |
Search for draft pull requests
You can filter for draft pull requests. For more information, see "About pull requests."
Qualifier | Example |
---|---|
draft:true | draft:true matches draft pull requests. |
draft:false | draft:false matches pull requests that are ready for review. |
Search by pull request review status and reviewer
You can filter pull requests based on their review status (none, required, approved, or changes requested), by reviewer, and by requested reviewer.
Qualifier | Example |
---|---|
review:none | type:pr review:none matches pull requests that have not been reviewed. |
review:required | type:pr review:required matches pull requests that require a review before they can be merged. |
review:approved | type:pr review:approved matches pull requests that a reviewer has approved. |
review:changes_requested | type:pr review:changes_requested matches pull requests in which a reviewer has asked for changes. |
reviewed-by:USERNAME | type:pr reviewed-by:gjtorikian matches pull requests reviewed by a particular person. |
review-requested:USERNAME | type:pr review-requested:benbalter matches pull requests where a specific person is requested for review. Requested reviewers are no longer listed in the search results after they review a pull request. If the requested person is on a team that is requested for review, then review requests for that team will also appear in the search results. |
user-review-requested:@me | type:pr user-review-requested:@me matches pull requests that you have directly been asked to review. |
team-review-requested:TEAMNAME | type:pr team-review-requested:github/docs matches pull requests that have review requests from the team github/docs . Requested reviewers are no longer listed in the search results after they review a pull request. |
Search by when an issue or pull request was created or last updated
You can filter issues based on times of creation, or when they were last updated. For issue creation, you can use the created
qualifier; to find out when an issue was last updated, you'll want to use the updated
qualifier.
Both take a date as a parameter. Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD
(year-month-day). You can also add optional time information THH:MM:SS+00:00
after the date, to search by the hour, minute, and second. That's T
, followed by HH:MM:SS
(hour-minutes-seconds), and a UTC offset (+00:00
).
When you search for a date, you can use greater than, less than, and range qualifiers to further filter results. For more information, see "Understanding the search syntax."
Qualifier | Example |
---|---|
created:YYYY-MM-DD | language:c# created:<2011-01-01 state:open matches open issues that were created before 2011 in repositories written in C#. |
updated:YYYY-MM-DD | weird in:body updated:>=2013-02-01 matches issues with the word "weird" in the body that were updated after February 2013. |
Search by when an issue or pull request was closed
You can filter issues and pull requests based on when they were closed, using the closed
qualifier.
This qualifier takes a date as its parameter. Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD
(year-month-day). You can also add optional time information THH:MM:SS+00:00
after the date, to search by the hour, minute, and second. That's T
, followed by HH:MM:SS
(hour-minutes-seconds), and a UTC offset (+00:00
).
When you search for a date, you can use greater than, less than, and range qualifiers to further filter results. For more information, see "Understanding the search syntax."
Qualifier | Example |
---|---|
closed:>YYYY-MM-DD | language:swift closed:>2014-06-11 matches issues and pull requests in Swift that were closed after June 11, 2014. |
in:body closed:<YYYY-MM-DD | data in:body closed:<2012-10-01 matches issues and pull requests with the word "data" in the body that were closed before October 2012. |
Search by when a pull request was merged
You can filter pull requests based on when they were merged, using the merged
qualifier.
This qualifier takes a date as its parameter. Date formatting must follow the ISO8601 standard, which is YYYY-MM-DD
(year-month-day). You can also add optional time information THH:MM:SS+00:00
after the date, to search by the hour, minute, and second. That's T
, followed by HH:MM:SS
(hour-minutes-seconds), and a UTC offset (+00:00
).
When you search for a date, you can use greater than, less than, and range qualifiers to further filter results. For more information, see "Understanding the search syntax."
Qualifier | Example |
---|---|
language:LANGUAGE merged:<YYYY-MM-DD | language:javascript merged:<2011-01-01 matches pull requests in JavaScript repositories that were merged before 2011. |
in:title language:LANGUAGE merged:>YYYY-MM-DD | fast in:title language:ruby merged:>=2014-05-01 matches pull requests in Ruby with the word "fast" in the title that were merged after May 2014. |
Search based on whether a pull request is merged or unmerged
You can filter pull requests based on whether they're merged or unmerged using the is
qualifier.
Qualifier | Example |
---|---|
is:merged | bug is:pr is:merged matches merged pull requests with the word "bug." |
is:unmerged | error is:unmerged matches pull requests with the word "error" that are either open or were closed without being merged. |
Search based on whether a repository is archived
The archived
qualifier filters your results based on whether an issue or pull request is in an archived repository.
Qualifier | Example |
---|---|
archived:true | archived:true GNOME matches issues and pull requests that contain the word "GNOME" in archived repositories you have access to. |
archived:false | archived:false GNOME matches issues and pull requests that contain the word "GNOME" in unarchived repositories you have access to. |
Search based on whether a conversation is locked
You can search for an issue or pull request that has a locked conversation using the is
qualifier. For more information, see "Locking conversations."
Qualifier | Example |
---|---|
is:locked | code of conduct is:locked is:issue archived:false matches issues or pull requests with the words "code of conduct" that have a locked conversation in a repository that is not archived. |
is:unlocked | code of conduct is:unlocked is:issue archived:false matches issues or pull requests with the words "code of conduct" that have an unlocked conversation in a repository that is not archived. |
Search by missing metadata
You can narrow your search to issues and pull requests that are missing certain metadata, using the no
qualifier. These qualifiers cannot be combined with the minus (hyphen) symbol to exclude items that are missing metadata. That metadata includes:
- Labels
- Milestones
- Assignees
- Projects
Qualifier | Example |
---|---|
no:label | priority no:label matches issues and pull requests with the word "priority" that also don't have any labels. |
no:milestone | sprint no:milestone type:issue matches issues not associated with a milestone containing the word "sprint." |
no:assignee | important no:assignee language:java type:issue matches issues not associated with an assignee, containing the word "important," and in Java repositories. |
no:project | build no:project matches issues not associated with a project (classic), containing the word "build." |