Posted at

GitHub Issueの検索でできること

More than 3 years have passed since last update.


GitHubのIssue検索でできること

チームメンバのタスク消化量をIssueの検索だけで可視化できないかと思ってIssueの検索についてざっくり調べました。

https://help.github.com/articles/searching-issues/

ざっくりとまとめておきます。


基本


  • スペース区切りで複数条件を指定可。 AND条件。

  • 指定した条件は基本的にはその文字列の全文検索

  • 「:」で区切られた各種フィルターを指定できる


in

文字列がどのフィールドに含まれているかを指定する。


指定できるのはtitle, body, comment。カンマ区切りで複数指定可


  • in:title

  • in:title,body

  • in:comment


is:public / is:private

リポジトリ横断で検索する場合にpublicのみ、privateのみを指定できる


当然、privateは自分がアクセス権を持っているリポジトリのみ


  • is:public

  • is:private


author

IssueまたはPullRequestの作成者


  • author:shunjikonishi


assignee

現在のassignee


  • assignee:shunjikonishi


mentioned

IssueまたはPullRequestでメンションされている人


  • mentioned:shunjikonishi


commenter

コメントした人


  • commenter:shunjikonishi


involves

関係者(author, assignee, mentioned, commenter)すべて


  • involves:shunjikonishi


team

Organizationリポジトリ限定。チームに対するメンション


  • team:code-check/owners


state

openまたはclosedの状態


  • state:open

  • state:closed


label

ラベル。複数指定可。「-」をつけることで、「そのラベルを持たない」という検索条件も指定できる


  • label:bug

  • label:bug label:resolved

  • label:priority -label:bug


no

label, assignee, milestoneを持たない


  • no:label

  • no:assignee

  • no:milestone


language

リポジトリの使用言語?いまいち使い道がわからない


  • language:ruby

  • language:bash
    の作成者


is

状態。open/closedはstateでも指定できるがどっちでも良い。


  • is:open

  • is:closed

  • is:merged

  • is:unmerged

  • is:pr

  • is:issue


created / updated / mereged /closed

日付時刻での絞り込み


  • created 作成日時

  • updated 更新日時

  • merged マージ日時

  • closed クローズ日時

フォーマットは YYYY-MM-DD または YYYY-MM-DDTHH:MM:SS+09:00


From/Toは不等号または「..」で範囲を指定する


  • created:<2015-04-01

  • updated:>=2015-04-01T18:00:00+09:00

  • merged:2015-04-01..2015-05-01

「..」を使った場合、境界値を含む(らしい)


comments

コメントの数


  • comments:>100

  • comments:500..1000


user / repo

リポジトリ横断検索で特定のユーザ、またはリポジトリに範囲を限定


  • user:shunjikonishi

  • user:shunjikonishi/roomframework


SHA hash

指定の文字列から始まるcommitを持つPullRequest

7文字以上の16進文字列がcommit hashと解釈される(らしい)


  • e1109ab

  • 0eff326d213c


sort

ソート。以下の6つ。commentedはコメント数


  • created-asc

  • created-desc

  • updated-asc

  • updated-desc

  • commented-desc

  • commented-asc


まとめ

mergedByとかcommiterとかあれば最初の目的は検索のみで達成できたと思うが、残念ながらないらしい。


運用カバーとしてmergeまたはcloseの時点でassigneeを適切に設定しておけば、mergedの範囲検索でその期間の開発者のパフォーマンスレビューはできそうな気がする