Streamのクエリ

Streamには柔軟なクエリを指定することができます。ここではよく使われるクエリを紹介します。

オープン状態のissue

オープン(クローズやマージされていない)状態のissueを見るStreamを作るにはis:openを使います。たとえばnodejs/nodeリポジトリのオープンなissueを見るには次のクエリでStreamを作成します。

repo:nodejs/node is:open is:issue

しかし、Jasperではis:openを使ったStreamを作ることは非推奨です。なぜなら、オープン状態のissueがクローズされたときにJasperではクローズの検知ができないためです。

これはJasperがGitHub Search APIをポーリングしていることによる制約です

そのためis:openを使う場合は通常のStreamではなく、Filter Streamを使うようにしてください。Filter Streamは通常のStreamに対してJasper独自のフィルターをかけることができます。先程の例は次のようになります。

Stream

repo:nodejs/node is:issue

Filter Stream

is:open

Filter Streamについてはリファレンスの「Filter Stream」を参照してください。

クローズ状態、マージ状態、ドラフト状態についても同様の制限があります。

Teamメンションされたissue

Teamメンションされたissueを見るにはteam:ORGNAME/TEAMNAMEを使います。例えば@jekyll/ownersがメンションされたissueを見るには次のようなクエリでStreamを作成します。

team:@jekyll/owners

GitHub Docs: Search by team mention

ユーザが関係するissue

特定のユーザが関係するissueを見るにはinvolves:USERNAMEを使います。例えばdefunktもしくはjlordが関係するissueを見るには次のようなクエリでStreamを作成します。

involves:defunkt involves:jlord

involves:USERNAMEはauthor, assign, mention, comment, review-requestedをまとめて指定することができる便利なクエリです。

GitHub Docs: Search by a user that's involved in an issue or pull request

リポジトリやOrganizationのissue

特定のリポジトリのissueを見るにはrepo:USERNAME/REPOSITORYを使います。例えばnodejs/nodeもしくはelectron/electronリポジトリのissueを見るには次のようなクエリでStreamを作成します。

repo:nodejs/node repo:electron/electron

特定のOrganizationのissueを見るにはorg:ORGNAMEを使います。例えばnodejselectron Organizationのissueを見るには次のようなクエリでStreamを作成します。

org:nodejs org:electron

GitHub Docs: Search within a user's or organization's repositories

マイルストーンやラベルがついたissue

特定のマイルストーンが付いたissueを見るにはmilestone:MILESTONE_NAMEを使います。例えばnodejs/nodeリポジトリで13.0.0もしくは14.0.0のマイルストーンがついたissueを見るには次のようなクエリでStreamを作成します。

repo:nodejs/node milestone:13.0.0 milestone14.0.0

特定のラベルが付いたissueを見るにはlabel:LABEL_NAMEを使います。例えばnodejs/nodeリポジトリでbuildzlibのラベルが付いたissueを見るには次のようなクエリでStreamを作成します。

repo:nodejs/node label:build label:zlib

複数のラベルを指定するとand条件となります。

スペースを含むマイルストーンやラベルの場合はmilestone:"foo bar"のように指定してください。

GitHub Docs: Search by milestone, Search by label

キーワードが含まれるissue

特定のキーワードが含まれるissueを見るにはKEYWORDを使います。例えばoctocatとgithubが含まれるissueを見るには次のようなクリエでStreamを作成します。

AND条件
OR条件
NOT条件
AND条件
octocat github
OR条件
octocat OR github
NOT条件
octocat NOT github

日本後などのマルチバイト文字やスペースを含むキーワードは"foo bar"のように指定してください。

GitHub Docs: Limitations on query length, Exclude certain results

除外指定

特定のリポジトリやラベルを含まないように指定するには-QUALIFIERを使います。例えばnodejs organizatonでnodejs/nodeリポジトリとbugラベルを含まいないissueを見るには次のようなクエリでStreamを作成します。

org:nodejs -repo:nodejs/node -label:bug

GitHub Docs: Exclude certain results