Jasperの便利な使い方

概要

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を追いかけるStream
    • user: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について紹介したいと思います。