Skip to main content

Issue およびプルリクエストを検索する

GitHub 上の Issue およびプルリクエストを検索することができます。そして、これらの検索用修飾子を組み合わせることで、検索結果を絞ることができます。

この記事の内容

GitHub 全体にわたってグローバルに Issue およびプルリクエストを検索できます。あるいは、特定の Organization の Issue およびプルリクエストに限った検索もできます。 詳しくは、「GitHub での検索について」を参照してください。

ヒント:

  • 検索結果をさらに改善するために検索修飾子を追加できる検索構文の一覧については、「検索構文を理解する」を参照してください。

  • 複数単語の検索用語は引用符で囲みます。 たとえば "In progress" というラベルの問題を検索したい場合は、label:"in progress" と検索します。 検索では、大文字と小文字は区別されません。

  • 修飾子に一致する結果を除外するには、マイナス (ハイフン) 記号を使用します。 たとえば、"octocat" ユーザーによって作成された issue を無視するには、検索で -author:octocat を使用します。

  • キーボードショートカットを使えば、Issueあるいはプルリクエストのリストの上にある検索バー上のカーソルに集中できます。 詳しくは、「キーボード ショートカット」を参照してください。

Issue またはプルリクエストに限定した検索

デフォルトでは、GitHub の検索は、Issueとプルリクエストの両方を結果表示します。 ただし、type または is の修飾子を使うことで、issue または pull request に限った検索ができます。

修飾子
type:prcat type:pr は、"cat" という単語を含む pull request と一致します。
type:issuegithub commenter:defunkt type:issue は、"github" という単語を含み、@defunkt によるコメントがある issue と一致します。
is:prevent is:pr は、"event" という単語を含む pull request と一致します。
is:issueis:issue label:bug is:closed は、"bug" というラベルを持つクローズした issue と一致します。

タイトル、本文、またはコメントで検索

in 修飾子によって、タイトル、本文、コメントやその組み合わせに限定した検索ができます。 この修飾子を省略した場合、タイトル、本文、そしてコメントがすべて検索されます。

修飾子
in:titlewarning in:title は、タイトルに "warning" を含む issue と一致します。
in:bodyerror in:title,body は、タイトルまたは本文に "error" を含む issue と一致します。
in:commentsshipit in:comments は、コメントで "shipit" とメンションされている issue と一致します。

ユーザまたは Organization のリポジトリ内の検索

特定のユーザーや Organization が所有する、すべてのリポジトリ内の issue と pull request を検索するには、user または org の修飾子を使います。 特定のリポジトリの issue や pull request を検索するには、repo 修飾子を使います。

10,000 を超えるリポジトリで pull request にアクセスできる場合は、結果を表示するには、検索を特定の組織、個人アカウント、またはリポジトリに制限する必要があります。

修飾子
user:USERNAMEuser:defunkt ubuntu は、@defunkt が所有するリポジトリの "ubuntu" という単語を含む issue と一致します。
org:ORGNAMEorg:github は、GitHub Organization が所有するリポジトリの issue と一致します。
repo:USERNAME/REPOSITORYrepo:mozilla/shumway created:<2012-03-01 は 2012 年 3 月より前に作成された @mozilla の shumway プロジェクトの issue と一致します。

オープンかクローズかで検索

state または is 修飾子を使って、オープンかクローズかで、issue と pull request をフィルタリングできます。

修飾子
state:openlibraries state:open mentions:vmg は、"libraries" という単語を含む @vmg をメンションするオープンの issue と一致します。
state:closeddesign state:closed in:body は、本文で "design" という単語を含むクローズした issue と一致します。
is:openperformance is:open is:issue は、"performance" という単語を含むオープンの issue と一致します。
is:closedandroid is:closed は、"android" という単語を含む、クローズした issue や pull request と一致します。

マージ キューで pull request を検索する

is 修飾子を使用して、マージするためにキューに登録されている pull request を検索することもできます。

修飾子
is:queuedis:queued は、マージするために現在キューに登録されている pull request と一致します。

Issue がクローズされた理由で検索する

reason 修飾子を使うと、issue がクローズされたときの設定された理由に基づいて、issue をフィルター処理することができます。

修飾子
reason:completedlibraries is:closed reason:completed は、"completed" としてクローズされた、"libraries" という単語を含む issue に一致します。
reason:"not planned"libraries is:closed reason:"not planned" は、"not planned" としてクローズされた、"libraries" という単語を含む issue に一致します。

リポジトリの可視性によるフィルタ

is 修飾子を使って、Issue と pull request を含むリポジトリの可視性でフィルタリングできます。 詳しくは、「リポジトリについて」を参照してください。

修飾子
is:publicis:public は、パブリック リポジトリの issue や pull request と一致します。
is:privateis:private cupcake は、アクセスできるプライベート リポジトリ内の "cupcake" という単語を含む issue や pull request と一致します。

作者で検索

author 修飾子は、特定のユーザーまたは統合アカウントが作成した issue と pull request を検索します。

修飾子
author:USERNAMEcool author:gjtorikian は、@gjtorikian が作成した "cool" という単語を含む issue や pull request と一致します。
in:body author:USERNAMEbootstrap in:body author:mdo は、本文に "bootstrap" という単語を含む、@mdo が作成した issue と一致します。
author:app/USERNAMEauthor:app/robot は、"robot" という名前の統合アカウントが作成した issue と一致します。
-author:app/USERNAMEauthor:app/robot は、"robot" という名前の統合アカウント以外の任意のユーザーが作成した issue と一致します。 修飾子の前のマイナス記号またはダッシュ文字 (-) は、検索クエリの修飾子の論理 NOT を示します。

アサインされた人で検索

assignee 修飾子は、特定のユーザーにアサインされた Issue と pull request を検索します。 割り当て先が 存在 する問題とプル要求は検索できませんが、担当者 がいない問題とプル要求を検索できます。

修飾子
assignee:USERNAMEassignee:vmg repo:libgit2/libgit2 は、@vmg に割り当てられている libgit2 のプロジェクト libgit2 の issue や pull request と一致します。

メンションで検索

mentions 修飾子は、特定のユーザーをメンションしている issue を検索します。 詳しくは、「基本的な書き方とフォーマットの構文」を参照してください。

修飾子
mentions:USERNAME resque mentions:defunkt は、@defunkt をメンションしている "resque" という単語を含む issue と一致します。

Team メンションで検索

あなたが属する Organization や Team の場合は、team 修飾子を使って、Organization 内の特定の Team を @mention している issue または pull request を検索できます。 検索を行うには、これらのサンプルの名前をあなたの Organization および Team の名前に置き換えてください。

修飾子
team:ORGNAME/TEAMNAMEteam:jekyll/owners は、@jekyll/owners Team がメンションされている issue と一致します。
team:ORGNAME/TEAMNAME is:open is:prteam:myorg/ops is:open is:pr は、@myorg/ops Team がメンションされているオープンの pull request と一致します。

コメントした人で検索

commenter 修飾子は、特定のユーザーからのコメントが含まれる issue を検索します。

修飾子
commenter:USERNAMEgithub commenter:defunkt org:github は、"github" という単語が含まれ、@defunkt によるコメントがある、GitHub が所有するリポジトリ内の issue と一致します。

Issue やプルリクエストに関係したユーザで検索

involves 修飾子は、特定のユーザーが何らかの方法で関与する Issue を検索します。 involves 修飾子は、1 人のユーザーを対象とした、authorassigneementionscommenter の修飾子の間の論理 OR です。 言い換えれば、この修飾子は、特定のユーザが作成した、当該ユーザにアサインされた、当該ユーザをメンションした、または、当該ユーザがコメントした、Issue およびプルリクエストを表示します。

修飾子
involves:USERNAMEinvolves:defunkt involves:jlord は、@defunkt または @jlord が関与している issue と一致します。
in:body involves:USERNAMENOT bootstrap in:body involves:mdo は@mdo が関与している、本文に "bootstrap" という単語を含まない issue と一致します。

Issue とプルリクエストを検索する

目的の修飾子の後に @me を付けると、作成または操作した issue と pull request を検索できます。 ユーザー名で動作する修飾子を使用すると、作成した issue や pull request に検索を制限したり、割り当てたり、メンションしたり、レビュー担当者として要求したりすることができます。

修飾子
author:@meauthor:@me は、作成した issue と pull request と一致します。
is:pr commenter:@meis:pr commenter:@me は、コメントした pull request に一致します。

リンクされた Issue とプルリクエストを検索する

結果を絞り込んで、クローズしているリファレンスによってプルリクエストにリンクされている、またはプルリクエストによってクローズされる可能性がある Issue にリンクされている Issue のみを表示することができます。

修飾子
linked:prrepo:desktop/desktop is:open linked:pr は、クローズしているリファレンスによって pull request にリンクされている desktop/desktop リポジトリ内のオープンの issue と一致します。
linked:issuerepo:desktop/desktop is:closed linked:issue は、pull request でクローズされた可能性がある issue にリンクされた、desktop/desktop リポジトリ内のクローズした pull request と一致します。
-linked:prrepo:desktop/desktop is:open linked:pr は、クローズしているリファレンスによって pull request にリンクされていない、desktop/desktop リポジトリ内のオープンの issue と一致します。
-linked:issuerepo:desktop/desktop is:open -linked:issue は、pull request でクローズする可能性がある issue にリンクされていない、desktop/desktop リポジトリ内のオープンの pull request と一致します。

ラベルで検索

label 修飾子を使って、ラベルで検索結果を絞り込むことができます。 Issue は複数のラベルがある可能性があることから、各 Issue について異なる修飾子を記載できます。

修飾子
label:LABELlabel:"help wanted" language:ruby は、Ruby リポジトリにあるラベル "help wanted" を含む issue と一致します。
in:body -label:LABEL label:LABELbroken in:body -label:bug label:priority は、本文に "broken" という単語を含み、"bug" というラベルはないが、"priority" というラベルは ある issue と一致します。
label:LABEL label:LABELlabel:bug label:resolved は、ラベル "bug" と "resolved" を含む issue と一致します。
label:LABEL,LABELlabel:bug,resolved は、ラベル "bug" またはラベル "resolved" を含む issue と一致します。

マイルストーンで検索

milestone 修飾子は、リポジトリ内のマイルストーンの一部である issue または pull request を検索します。

修飾子
milestone:MILESTONEmilestone:"overhaul" は、"overhaul" という名前のマイルストーンにある issue と一致します。
milestone:MILESTONEmilestone:"bug fix" は、"bug fix" という名前のマイルストーンにある issue と一致します。

プロジェクトで検索する

project 修飾子を使用して、特定のプロジェクトに関連付けられている issue を検索することができます。 プロジェクトはプロジェクト番号で検索する必要があります。 プロジェクトの URL の末尾に、プロジェクト番号が表示されています。

修飾子
project:PROJECT_NUMBERproject:github/57 は、Organization のプロジェクト 57 に関連付けられている、GitHub が所有する issue と一致します。
project:REPOSITORY/PROJECT_NUMBERproject:github-linguist/linguist/1 は、@github の linguist リポジトリのプロジェクト 1 に関連付けられている issue と一致します。

コミットステータスで検索

コミットのステータスでプルリクエストをフィルタリングできます。 これは、状態 API または CI サービスを使っている場合に特に便利です。

修飾子
status:pendinglanguage:go status:pending は、状態が保留中の Go リポジトリでオープンになっている pull request と一致します。
status:successis:open status:success finally in:body は、正常な状態の、本文に "finally" という単語を含むオープンの pull request と一致します。
status:failurecreated:2015-05-01..2015-05-30 status:failure は、失敗した状態の、2015 年 5 月にオープンされた pull request と一致します。

コミット SHA で検索

コミットの特定の SHA ハッシュを知っている場合、その SHA を含むプルリクエストを検索するために使えます。 SHA の構文は、7 字以上であることが必要です。

修飾子
SHAe1109ab は、e1109ab で始まるコミット SHA の pull request と一致します。
SHA is:merged0eff326d6213c is:merged は、0eff326d6213c で始まるコミット SHA のマージされた pull request と一致します。

ブランチ名で検索

元のブランチ (「head」ブランチ) またはマージされるブランチ (「base」ブランチ) でプルリクエストをフィルタリングできます。

修飾子
head:HEAD_BRANCHhead:change is:closed is:unmerged は、クローズしている単語 "change" で始まるブランチ名からオープンした pull request と一致します。
base:BASE_BRANCHbase:gh-pages は、gh-pages ブランチにマージされている pull request と一致します。

言語で検索

language 修飾子により、特定の言語で記述されたリポジトリ内の issue や pull request を検索できます。

修飾子
language:LANGUAGElanguage:ruby state:open は、Ruby リポジトリにあるオープンの issue と一致します。

コメントの数で検索

不等号や範囲の修飾子と一緒に comments 修飾子を使うと、コメントの数で検索できます。

修飾子
comments:nstate:closed comments:>100 は、100 を超えるコメントを含む、クローズした issue と一致します。
comments:n..ncomments:500..1000 は、コメントの数が 500 から 1,000 の issue と一致します。

インタラクションの数で検索

interactions 修飾子と不等号や範囲の修飾子を使って、インタラクションの数で issue と pull request をフィルタリングできます。 インタラクションの数とは、1 つの Issue またはプルリクエストにあるリアクションおよびコメントの数のことです。

修飾子
interactions:nインタラクション>2000 は、2000 を超える pull request や issue と一致します。
interactions:n..ninteractions:500...1000 は、インタラクションの数が 500 から 1,000 の pull requst や issue と一致します。

リアクションの数で検索

reactions 修飾子と不等号や範囲の修飾子を使って、リアクションの数で issue と pull request をフィルタリングできます。

修飾子
reactions:nリアクション>1000 は、リアクションの数が 1000 を超える issue と一致します。
reactions:n..nreactions:500...1000 は、リアクションの数が 500 から 1,000 の issue と一致します。

ドラフトプルリクエストを検索

ドラフトプルリクエストをフィルタリングすることができます。 詳しくは、「pull requests について」を参照してください。

修飾子
draft:truedraft:true は、下書きの pull request と一致します。
draft:falsedraft:false は、レビューの準備ができている pull request と一致します。

プルリクエストレビューのステータスおよびレビュー担当者で検索

レビューの状態 (なし必須、承認、または要求_された_変更) に基づいて、レビュー担当者、および_要求された_レビュー担当者によってプル要求をフィルター処理できます。

修飾子
review:nonetype:pr review:none は、レビューされていない pull requst と一致します。
review:requiredtype:pr review:required は、マージする前にレビューを必要とする pull reruest と一致します。
review:approvedtype:pr review:approved は、レビュー担当者が承認した pull request と一致します。
review:changes_requestedtype:pr review:changes_requested は、レビュー担当者が変更をリクエストした pull request と一致します。
reviewed-by:USERNAMEtype:pr reviewed-by:gjtorikian は、特定のユーザーによってレビューされた pull request と一致します。
review-requested:USERNAMEtype:pr review-requested:benbalter は、特定のユーザーにレビューがリクエストされている pull request と一致します。 リクエストを受けたレビュー担当者は、プルリクエストのレビュー後は検索結果に表示されなくなります。 要求されたユーザーがレビューを要求されている Team にいる場合、その Team のレビュー要求も検索結果に表示されます。
user-review-requested:@metype:pr user-review-requested:@me は、そのユーザーが直接レビューを求められている pull request と一致します。
team-review-requested:TEAMNAMEtype:pr team-review-requested:github/docs は、Team github/docs からのレビュー要求がある pull request と一致します。 リクエストを受けたレビュー担当者は、プルリクエストのレビュー後は検索結果に表示されなくなります。

Issue やプルリクエストの作成時期や最終更新時期で検索

作成時期または最終更新時期で Issue をフィルタリングできます。 issue を作成する場合は、created 修飾子を使います。issue の最終更新時期を確認するには、updated 修飾子を使います。

どちらの修飾子も、パラメータとして日付を使います。 日付の書式設定は、ISO8601 標準の YYYY-MM-DD (年-月-日) に従う必要があります。 日付の後にオプションの時刻情報 THH:MM:SS+00:00 を追加して、時間、分、秒で検索することもできます。 これは、T の後に HH:MM:SS (時-分-秒)、UTC オフセット (+00:00) が続きます。

日付に対して検索を行う場合、結果をさらにフィルタリングするためにより大きい、より小さい、範囲の修飾子を利用できます。 詳しくは、「検索構文を理解する」を参照してください。

修飾子
created:YYYY-MM-DDlanguage:c# created:<2011-01-01 state:open は、C# で記述されたリポジトリで 2011 年より前に作成されたオープンの issue と一致します。
updated:YYYY-MM-DDweird in:body updated:>=2013-02-01 は、本文に "weird" という単語を含む、2013 年 2 月より後に更新された issue と一致します。

Issue やプルリクエストがクローズされた時期で検索

closed 修飾子を使って、issue や pull request を、クローズされた時期でフィルタリングできます。

この修飾子は、パラメータとして日付を使います。 日付の書式設定は、ISO8601 標準の YYYY-MM-DD (年-月-日) に従う必要があります。 日付の後にオプションの時刻情報 THH:MM:SS+00:00 を追加して、時間、分、秒で検索することもできます。 これは、T の後に HH:MM:SS (時-分-秒)、UTC オフセット (+00:00) が続きます。

日付に対して検索を行う場合、結果をさらにフィルタリングするためにより大きい、より小さい、範囲の修飾子を利用できます。 詳しくは、「検索構文を理解する」を参照してください。

修飾子
closed:>YYYY-MM-DDlanguage:swift closed:>2014-06-11 は、2014 年 6 月 11 日以降にクローズした Swift の issue や pull request と一致します。
in:body closed:<YYYY-MM-DDdata in:body closed:<2012-10-01 は、本文に "data" という単語を含む、2012 年 10 月より前にクローズした issue や pull request と一致します。

プルリクエストがマージされた時期で検索

merged 修飾子を使って、マージされた時期で pull request をフィルタリングできます。

この修飾子は、パラメータとして日付を使います。 日付の書式設定は、ISO8601 標準の YYYY-MM-DD (年-月-日) に従う必要があります。 日付の後にオプションの時刻情報 THH:MM:SS+00:00 を追加して、時間、分、秒で検索することもできます。 これは、T の後に HH:MM:SS (時-分-秒)、UTC オフセット (+00:00) が続きます。

日付に対して検索を行う場合、結果をさらにフィルタリングするためにより大きい、より小さい、範囲の修飾子を利用できます。 詳しくは、「検索構文を理解する」を参照してください。

修飾子
language:LANGUAGE merged:<YYYY-MM-DD language:javascript merged:<2011-01-01 は、2011 年より前にマージされた JavaScript リポジトリの pull request と一致します。
in:title language:LANGUAGE merged:>YYYY-MM-DDfast in:title language:ruby merged:>=2014-05-01 は、2014 年 5 月以降にマージされ、タイトルに "fast" という単語を含む Ruby の pull request と一致します。

プルリクエストがマージされているかどうかで検索

is 修飾子を使って、マージされているかどうかで pull request をフィルタリングできます。

修飾子
is:mergedbug is:pr is:merged は、"bug" という単語を含むマージされた pull request と一致します。
is:unmergederror is:unmerged は、オープンになっているか、マージされずにクローズした "error" という単語を含む pull request と一致します。

リポジトリがアーカイブされているかどうかで検索

archived 修飾子は、issue または pull request がアーカイブされたリポジトリにあるかどうかで結果をフィルタリングします。

修飾子
archived:truearchived:true GNOME は、アクセスできるアーカイブされたリポジトリ内の "GNOME" という単語を含む issue や pull request と一致します。
archived:falsearchived:false GNOME は、アクセスできるアーカイブされていないリポジトリ内の "GNOME" という単語を含む issue や pull request と一致します。

会話がロックされているかどうかで検索

is 修飾子を使って、ロックされている会話がある issue または pull request を検索することができます。 詳しくは、「会話をロックする」を参照してください。

修飾子
is:lockedcode of conduct is:locked is:issue archived:false は、アーカイブされていないリポジトリ内にロックされた会話がある "code of conduct" という単語を含む issue や pull request と一致します。
is:unlockedcode of conduct is:unlocked is:issue archived:false は、アーカイブされていないリポジトリ内にロックされていない会話がある "code of conduct" という単語を含む issue や pull request と一致します。

欠損しているメタデータで検索

no 修飾子を使って、特定のメタデータがない issue や pull request に検索を絞り込むことができます。 こうしたメタデータには、以下のようなものがあります:

  • ラベル
  • マイルストーン
  • アサインされた人
  • プロジェクト
修飾子
no:labelpriority no:label は、ラベルを持たない "priority" という単語を含む issue や pull request と一致します。
no:milestonesprint no:milestone type:issue は、"sprint" という単語を含むマイルストーンに関連付けられていない issue と一致します。
no:assigneeimportant no:assignee language:java type:issue は、"important" という単語を含む、担当者に関連付けられていない issue を Java リポジトリで一致します。
no:projectbuild no:project は、"build" という単語を含む、プロジェクト (クラシック) に関連付けられていない issue と一致します。

参考資料