Skip to main content

Issue及びPull Requestのフィルタリングと検索

上のリポジトリに関する詳細情報を見つけるために、そのリポジトリに関連するIssueやPull Requestをフィルタリング、ソート、検索できます。

Tool navigation

Tip

GitHub CLI を使用して Issue またはPull Requestをフィルタすることもできます。 詳細については、GitHub CLI ドキュメントの「gh issue list」または「gh pr list」を参照してください。

Issue およびPull Requestをフィルタリングする

Issue およびPull Requestには、適用してリストを整理するためのデフォルトのフィルタが備わっています。

Issue およびPull Requestをフィルタリングして、以下を探すことができます:

  • すべてのオープンな Issue およびPull Request
  • 自分で作成した Issue およびPull Request
  • 自分に割り当てられた Issue およびPull Request
  • @mentioned されていた現在の issue と pull request

Tip

GitHub CLI を使用して Issue またはPull Requestをフィルタすることもできます。 詳細については、GitHub CLI ドキュメントの「gh issue list」または「gh pr list」を参照してください。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下で、 [イシュー] または [pull request] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーの [Issues] と [Pull requests] タブが、オレンジ色の枠線で囲まれています。

  3. 一覧の上にある [フィルター] を選び、関心のあるフィルターの種類をクリックします。

    リポジトリの issue の一覧のスクリーンショット。 一覧の上には、[フィルター] というラベルが付いたドロップダウン メニューが濃いオレンジ色の枠線で囲まれています。

issue に対する高度なフィルターの構築

リポジトリの問題ページで、ブール型クエリと入れ子になったクエリを使用して高度なフィルターを作成できます。 フィルターを入力すると、GitHub に使用可能な修飾子が表示され、値が提案され、フィルターに問題がある場合は警告が表示されます。

ブール演算子の使用

AND 演算子と OR 演算子を使用してフィルターを絞り込むことができます。

両方のステートメントが true の結果が必要な場合は、AND を使用します。 次のフィルター例では、結果は、@octocat ユーザーに割り当てられている "バグ修正" ラベルに関する issue で構成されます。

label:"Bug fix" AND assignee:octocat

いずれかのステートメントが true の結果を返すには、OR を使用します。 次の例では、@octocat または @hubot に割り当てられた issue が結果に含まれます。

assignee:octocat OR assignee:hubot

AND 演算子と OR 演算子を使用しない場合、GitHub は、orgrepo または user フィールドを使用して、スペースが OR 演算子として扱われる所有権でフィルター処理しない限り、ステートメント間のスペースを AND 演算子として扱います。

より複雑なフィルターにかっこを使用する

かっこを使用して、フィルターとグループ修飾子を入れ子にすることもできます。 次の例の結果には、種類が "Bug" で @octocat に割り当てられている issue、または種類が "Enchancement" で @hubot に割り当てられている issue が含まれます。

(type:"Bug" AND assignee:octocat) OR (type:"Enhancement" AND assignee:hubot)

最大 5 レベルの深さまでのかっこを使用してフィルターを入れ子にすることができます。 現在、かっこ内に repoorg、または user 修飾子を含めることはできません。

Issue およびPull Requestをアサインされた人でフィルタリングする

issue または pull request を他のユーザーに割り当てると、作業しているユーザーに基づいて項目を見つけることができます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下で、 [イシュー] または [pull request] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーの [Issues] と [Pull requests] タブが、オレンジ色の枠線で囲まれています。

  3. issue または pull request の一覧の上にある [担当者] ドロップダウン メニューを選びます。

    issue の一覧のスクリーンショット。 一覧の上にあるヘッダーの [担当者] というラベルが付いたドロップダウン メニューが濃いオレンジ色の枠線で囲まれています。

  4. [Assignee] ドロップダウンメニューには、リポジトリへの書き込み権限のあるすべてのユーザがリストされます。 確認したい割り当て済みの項目を持つユーザの名前をクリックするか、 Assigned to nobody をクリックして未割り当ての issue を表示します。

Tip

フィルターの選択を解除するには、 Clear current search query, filters, and sorts をクリックします。

Issue およびPull Requestをラベルでフィルタリングする

issue または pull request にラベルを適用すると、そのラベルに基づいて項目を見つけることができます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下で、 [イシュー] または [pull request] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーの [Issues] と [Pull requests] タブが、オレンジ色の枠線で囲まれています。

  3. issue または pull request の一覧の上にある Labels をクリックします。

    リポジトリの issue の一覧のスクリーンショット。 一覧の上には、ラベル アイコンと [ラベル] というラベルが付いたボタンが濃いオレンジ色の枠線で囲まれています。

  4. ラベルの一覧でラベルをクリックします。

Tip

フィルターの選択を解除するには、 Clear current search query, filters, and sorts をクリックします。

issue の種類によるフィルター処理

組織で issue の種類を使用している場合は、特定の種類の issue をフィルター処理できます。 フィルターに直接 type: 修飾子を入力することもできます。

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [イシュー] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーでは、[イシュー] というラベルが付いたタブが濃いオレンジ色の枠線で囲まれています。

  3. issue の一覧の上にある [型] ドロップダウン メニューを選びます。

    issue の一覧のスクリーンショット。 リストのヘッダーでは、"Types" フィルターがオレンジ色の枠線で囲まれ、展開されています。

  4. 種類の一覧で、issue の種類をクリックします。

プルリクエストをレビューステータスでフィルタリングする

フィルタを使用して、レビューステータスでPull Requestをフィルタリングしたり、自分でレビューしたPull Requestや他のユーザにレビューするよう依頼されたPull Requestを検索したりできます。

Pull Requestのリポジトリのリストをフィルタリングして、次の検索を行えます:

  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下にある [pull request] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーでは、[pull request] というラベルが付いたタブが濃いオレンジ色の枠線で囲まれています。

  3. 右上隅の [レビュー] ドロップダウンメニューを選びます。

    pull request の一覧の上にあるフィルター メニューのスクリーンショット。 [レビュー] ドロップダウンが濃いオレンジ色の枠線で囲まれています。

  4. フィルタを選択してます。そのフィルタのステータスのPull Requestすべてが検索されます。

検索を使用して Issue およびプルリクエストをフィルタリングする

特定の条件を満たすIssueやPull Requestを検索するために、フィルターを使うことができます。

IssueやPull Requestの検索

Issue とPull Requestの検索バーを使用すると、独自のカスタムフィルターを定義し、さまざまな基準で並べ替えることができます。 検索バーは、各リポジトリの [Issue] タブと [Pull requests] タブ、および [Issue] ダッシュボードと [Pull requests] ダッシュボードにあります。

リポジトリの issue の一覧のスクリーンショット。 リストの上で、"is:issue is:open" というクエリを含む検索フィールドがオレンジ色の枠線で囲まれています。

Tip

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

Note

GitHub CLI の詳細については、「GitHub CLI について」を参照してください。

GitHub CLIを使ってIssueやPull Requestを検索できます。 --search 引数と検索クエリと共に gh issue list または gh pr list サブコマンドを使用します。

たとえば、担当者がいなくて、help wanted または bug ラベルを持つすべての issue を、作成された日付順に一覧表示できます。

gh issue list --search 'no:assignee label:"help wanted",bug sort:created-asc'

octo-org/octo-team チームにメンションするすべての pull request を一覧表示することもできます。

gh pr list --search "team:octo-org/octo-team"

検索語について

Issue およびPull Requestの検索用語により、次のことができます:

  • 作成者ごとに issue と pull request をフィルター処理します: state:open type:issue author:octocat
  • 特定のユーザーを含むが必ずしも @mention していない issue と pull request をフィルター処理します: state:open type:issue involves:octocat
  • 担当者ごとに issue と pull request をフィルター処理します: state:open type:issue assignee:octocat
  • ラベルごとに issue と pull request をフィルター処理します: state:open type:issue label:"bug"
  • 語句の前に - を使用して、検索語句を除外します: state:open type:issue -author:octocat

Tip

論理和または論理積を使って、ラベルで issue と pull request をフィルター処理できます。

  • 論理和を使用して issue をフィルター処理するには、コンマ構文を使用します: label:"bug","wip"
  • 論理積を使用して issue をフィルター処理するには、別のラベル フィルターを使用します: label:"bug" label:"wip"

Issueについては、以下も検索に利用できます。

  • 閉じている参照で、pull request にリンクされている issue をフィルター処理する: linked:pr
  • is:closed reason:completed または is:closed reason:"not planned" というクローズされた理由で issue をフィルター処理します。* 特定の種類の issue をフィルター処理する: is:open type:"Bug"

Pull Requestについては、検索を利用して以下の操作もできます。

  • ドラフトの pull request をフィルター処理する: is:draft
  • まだレビューされていない pull request をフィルター処理する: state:open type:pr review:none
  • マージできるようになる前にレビューを必要とする pull request をフィルター処理する: state:open type:pr review:required
  • レビュー担当者が承認した pull request をフィルター処理する: state:open type:pr review:approved
  • レビュー担当者が変更を求めている pull request をフィルター処理する: state:open type:pr review:changes_requested
  • レビュー担当者ごとに pull request をフィルター処理する: state:open type:pr reviewed-by:octocat
  • レビューを要求した特定のユーザーで pull request をフィルター処理する: state:open type:pr review-requested:octocat
  • 誰かから直接レビューするよう求められた pull request をフィルター処理する: state:open type:pr user-review-requested:@me
  • レビューを要求したチームで pull request をフィルター処理する: state:open type:pr team-review-requested:github/docs
  • pull request がクローズできる issue にリンクされている pull request をフィルター処理する: linked:issue
  • merging の状態でプルリクエストをフィルター処理する: is:merged または is:unmerged

Issue およびPull Requestをソートする

フィルターは、特定の期間の情報をよりよく提供するためにソートできます。

これらのフィルタービューでソートできます。

  • 一番新しく作成された Issue またはPull Request
  • 一番古くに作成された Issue またはPull Request
  • 最もコメントされた Issue またはPull Request
  • 最もコメントされていない Issue およびPull Request
  • 一番新しく更新された Issue またはPull Request
  • 一番古くに更新された Issue またはPull Request
  • 最もリアクションがあったIssueまたはPull Request
  1. GitHub で、リポジトリのメイン ページに移動します。

  2. リポジトリ名の下で、 [イシュー] または [pull request] をクリックします。

    リポジトリのメイン ページのスクリーンショット。 水平ナビゲーション バーの [Issues] と [Pull requests] タブが、オレンジ色の枠線で囲まれています。

  3. issue または pull request の一覧の上にある [並べ替え] ドロップダウン メニューを選び、並べ替え方法をクリックします。

    リポジトリの issue の一覧のスクリーンショット。 一覧の上には、[並べ替え] というラベルが付いたドロップダウン メニューが濃いオレンジ色の枠線で囲まれています。

並べ替えの選択を解除するには、 [並べ替え] > [最新] をクリックします。

フィルターを共有する

一定の Issue およびPull Requestをフィルタリングする場合、ブラウザの URL は、次の表示にマッチするように自動的に更新されます。

Issue が生成した URL は、どのユーザにも送れます。そして、あなたが見ているフィルタビューと同じフィルタで表示できます。

たとえば、Hubot にアサインされた Issue でフィルタリングし、最も古いオープン Issue でソートした場合、あなたの URL は、次のように更新されます:

/issues?q=state:open+type:issue+assignee:hubot+sort:created-asc

参考資料