概要
JasperはGitHub/GHE専用のissueリーダーです。 メールクライアントやRSSリーダーに似ており、未読管理やスターをつけたり、アーカイブしたりということができます。 これらのクライアントと同じような操作感を実現するために、JasperはStreamと呼ばれるコア機能を提供しています。 今回はこのStreamの使い方を紹介します。
Systemの使い方
Streamの使い方に入る前に、Jasperが自動的に作成して提供しているSystemと呼ばれる機能について紹介します。 基本的にはこのSystemをチェックするだけで、自分に関係するissueを見逃すことはないと思います。
Me
- 自分に関係するissueが流れてきます
- 具体的には「自分が作成したissue」「自分がアサインされたissue」「自分宛にメンションされたissue」「自分がコメントしたissue」「自分のリポジトリのissue」が対象になります
Team
- 「自分が所属するチーム宛にメンションされたissue」が流れてきます
Watching
- 「GitHubでウォッチしているリポジトリのissue」が流れてきます
Subscription
Subscription
はちょっと変わっていて、「個別に購読したissue」が流れてきます- 例えば「あるリポジトリの特定のissueだけ更新を追いかけたい」という場合にリポジトリ全体をウォッチすると大量のissueが流れてきてしまうので、特定のissueだけを購読できるようになっています
- 1つ注意が必要なのは、GitHubの
Subscribe
とは連動していません
Streamの使い方
では本題のStreamの使い方をプライベート編と仕事編に分けて紹介します。
プライベート編
プライベート(OSS)の活動を行う上で便利だと思うStreamを紹介します。
- 自分が出したissueやPRを追いかけるStream
author:myUserName
- 昔に出したPRが動き出した時にもすぐに気づくことができます
- 自分が所属しているorganizationに建てられたissueやPRを追いかけるStream
user:myOrg1 user:myOrg2
- 自分は所属していないけど、興味のあるorganizationを指定しても便利です
- 自分のツールでエゴサーチするStream
mytool OR mylib
- エゴサーチをするときには自分のorganizationや特定ユーザ(botなど)によるissueは除外したい場合があると思うので、
-
を使って除外クエリを追加すると便利です-user:userX -user:orgX -author:botX mytool OR mylib
- 有名なOSSエンジニアの行動を追いかけるStream
involves:userA involves:userB
involves:userA
は「userA
が作成した、アサインされた、コメントした、メンションされた」という条件になります
仕事編
仕事でGHEやGitHubのorganizationを使っている場合に便利だと思うStreamを紹介します。
- 自分が出したissueやPRを追いかけるStream
author:myUserName
- チームメンバーが出したPRを追いかけるStream
is:pr author:member1 author:member2
- まだWIPのPRでもメンションでレビュー依頼をされる前に確認できたりします
- 部署のorganizationに流れてくるissueを追いかけるStream
user:myDepartmentOrg
user:
にはorganizationだけではなく通常のユーザ名を指定することができます
- 他部署の動向を追いかけるStream
user:infraOrg user:salesOrg
- 他の部署の動向を軽く追いかけたい時に便利です
- 部署内の
bug
,api
ラベルがついているissueを追いかけるStreamuser:myDepartmentOrg label:bug label:api
label:
は複数指定するとAND接続になるので、この場合は「bugラベルとapiラベルの両方が付いているissue」ということになります
- バージョン1.0.0に含まれるissueを追いかけるStream
milestone:v1.0.0
- issueにマイルストーンをふって運用している場合、直近のリリースのマイルストーンを見るのに便利です
- 自分が関係しそうな単語でエゴサーチするStream
mytool OR mylib
- 自分が担当しているサービス名や特定機能でエゴサーチをすると面白いと思います
- ただし、日本語でエゴサーチをすると結果が思ったようにならない場合があります
- GitHubの検索は英語以外の対応が怪しい・・・
- 自分のTODOリポジトリを作ってTODO管理に使うStream
repo:myUserName/todo
- privateリポジトリにしておくのを忘れないように
- 社内の日報issueを追いかけるStream
label:日報 author:userA author:userB
- 社内の日報をGitHubのissueで作成して、
日報
というラベルをつける運用をすると面白いかもしれません
今回紹介したStream以外にも色々なクエリの指定があります。例えばauthor:myUserName org:myDepartmentOrg label:bug
というように複雑な条件を指定することもできます。
Streamに使えるその他のクエリについてはここにまとめてあります。
次回はStreamのサブ機能であるFilterについて紹介したいと思います。