4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PlanetScale + trocco + Looker Studio で GitHub issues の可視性を向上させる。後編

Posted at

前書き

対象読者

  • GitHub issues / projects でタスク/プロジェクト管理をおこなっている
  • GitHub 上の UI だけでは十分に issues / projects のヴィジュアライズが満足できない
  • 以下の前編記事を読まれた方

自己紹介

  • 株式会社きみよりで代表をしています 野口啓之 / Hiroyuki Noguchi / Hi-Noguchi です
  • プロジェクト管理に GitHub issues / projects を使うのが好きです

what ?

PlanetScale

  • MySQL 互換のサーバーレスなクラウドデータベース
  • フリーでかなり使えるのがありがたい

trocco

  • 日本のサービス!
  • データのパイプラインツール
  • 要は、あっちのサービス内にあるデータを、こっちのサービスへ移動させるために用いられる

Looker Studio

  • 旧称 Google データポータル
  • いわゆる BI ツール
  • データソースを元にグラフ化したり集計したりすることができる

準備

PlanetScale

  • PlanetScale の準備は前編記事の以下のあたりをご参照

trocco

  • trocco の準備は前編記事の以下のあたりをご参照

Looker Studio

前提

  • Google アカウントが必須になりますので、まず Google アカウントを用意してきましょう

利用開始

  • 以下へアクセスします

  • 以下のような画面が表示されるので、ここでは 空のレポート を選びます

image.png

データソースの選択

  • mysql を選びます

image.png

  • アクセス権を承認します

image.png

  • 以下のように接続先の入力を求められるので PlanetScale への接続情報を入力しましょう
    • データベース名は PlanetScale で設定したものなので、管理画面にデカデカと表示されているものです
    • あるいは console で show databases; として確認しても構いません

image.png

  • 重要なポイントは SSL を有効にする ことですが、証明書をどうしたらよいでしょう。これについては以下の discussion で回答が提供されていました

  • とりわけ以下のコメントです。こちらに添付されている isrgx1.txt ファイルをダウンロードし isrgx1.pem に拡張子を変更して、これを利用します
    • コメント投稿者は PlanetScale の Maintainer なので怪しいファイルではないことも担保されます

  • これにより、接続が成功してテーブルを表示させることができましたので、このテーブルを選択して追加します

image.png

  • これで準備は完了です!

image.png

可視性の向上

レポートの名前を設定

  • 何はともあれ 無題のレポート では示しがつかないのでレポート名を設定しておきましょう。ひとまず GitHub issues とかで……

image.png

円グラフを置いてみる

state

  • まず分かりやすいところから OPEN CLOSED の issue の割合を円グラフで表示してみましょう

image.png

  • 期間のディメンション は、ここでは最近に動きがあったものとして updated_at としておきますが、作成日ベースで見たい場合などは created_at とするのもよいでしょう

image.png

  • コントロールを追加 から 期間設定 を選んで置くことで 期間のディメンションをベースとした絞り込みがされるようになります

image.png

  • 以下のような感じで、期間を変更すると割合が変わり、設定が効いているのが分かりますね

image.png

image.png

author, assignees

  • 上記で設置した円グラフをコピペして ディメンションauthor assignees などに変更してあげれば、割合を次々に表示することができます
    • 本当はもっと authorassignees が豊富なところでサンプル出せたら、華々しくて良かったのですが……!

image.png

  • ただ、グラフの名前がないと、何のグラフなんだか分からなくなりますね😂 テキストは自由に配置できます

image.png

ドリルダウンで深掘り

  • 円グラフでもう少し応用してみます。ディメンションのところでドリルダウンがオフになってますが、これをオンにします

image.png

  • ドリルダウンのレベルは state にしておき、ディメンションにはもう一つ project_title を追加します

image.png

  • ドリルダウンはグラフのヘッダにある で実行できます

image.png

  • OPEN CLOSE 両方を対象にした状態でドリルダウンすると、以下のようになります

image.png

  • で上に戻ってから OPEN のみを選んで……

image.png

  • またドリルダウンすると OPEN 状態のプロジェクトの割合が確認できるようになりました
    • ちなみにここで使われている元データはサンプルデータなので、特に気にされず……

image.png

ページを分ける

  • 円グラフ以外のグラフを設置する前に、ページを分けてみます
  • メニューから ページを追加 を押します

image.png

  • すると以下のようになるので 無題のページ となっているところに適切な名前をつけてあげます

image.png

  • やっつけ感満載ですがこんな感じで……

image.png

線グラフを置いてみる

  • ということで次は線グラフを置いてみます。線グラフは推移を表現するのに役立ちますね
  • ディメンションは created_at にして issue の作成ベースで推移を見てみることができました

image.png

  • 今回ここで内訳ディメンションを設定してみましょう。ここを closed_at に設定すると……

image.png

  • 各日で作成された issue の内訳として、いつ CLOSED になったかが確認できるようになりました
    • null はつまり OPEN の issue ということですね

image.png

  • 内訳を他のディメンションに設定することで、たとえば誰に何件 assign されたかということもわかります

image.png

表形式で集計を見る

  • 最後に表形式で集計を見てみましょう。まずはページを追加

image.png

  • シンプルにプロジェクト内の issue 件数を見てみます

image.png

  • ディメンションに assignees を追加してみるとこんな感じになります

image.png

  • さらに milestone_titlestate も追加すると……

image.png

  • ……とまあ、こんな感じで GitHub issues や projects のデフォルト機能だけではなかなか確認しづらい/手の届かないようなところについても、自由自在に見ることができるようになります
  • あとは Looker Studio 力が問われるだけということですね。どうぞ煮るなり焼くなりお好きなように……!
  • Looker Studio の使い方は、他に素晴らしい記事がたくさんあります。あるはずです。なのでこれ以上は、それらをご参照ください🙏

定期的なデータ更新と運用

trocco での設定

実行スケジュール

  • さて、最後に、定期的に MySQL データを更新するための設定を見ておきましょう
  • trocco の管理画面で、設定した転送をもう一度開きます。右側のほうに 実行スケジュール があるので、そこのペン 🖊 マークを押します

image.png

  • スケジュールの設定画面に入るので スケジュールを追加 ボタンを押します

image.png

  • あとは更新頻度を選びましょう

image.png

  • たとえば……
    • 毎週
    • 月曜
    • 00:00

image.png

  • 保存するとこんな感じになりました

image.png

  • さらにスケジュールは複合的に設定することもできます

image.png

実行スケジュールの動作確認

  • これで、スケジューリングした結果がどうなるか見てみましょう
  • 無事に 転送ジョブ メニューで実行されたことがわかりました!

image.png

実行スケジュールの一覧

  • 転送設定が複数ある場合でも、スケジュールの一覧は確認できます

image.png

運用にあたって

  • シンプルな 実行スケジュール の他にも trocco には ワークフロー 機能なども用意されています
  • 本記事ではシンプルに GitHub issues のデータを MySQL へ転送するだけでしたので ワークフロー は使いませんでしたが、活用することで複数サービスを連携させて、かなり柔軟なデータ処理もできそうですね

image.png

  • なお trocco のフリープランでは 2023/04 時点で転送時間無料枠が 10 時間 と定められているので、ここを超過しそうなほど使う用になった場合には有料プランへの切り替えを検討するのがよいでしょう

  • そうなるとおそらく PlanetScale も有料プランへの切り替えを検討し始めることになりそうですが……

後書き

雑感

  • 後半はもう Looker Studio の使い方って感じになりましたが GitHub issue だけでも十分にプロジェクト管理できるし、現時点 ( 2023/04 ) では弱みである可視性やら集計やらも Looker Studio を使うことで十分に補完できるということが伝わったのではないかと思います
  • 有料のプロジェクト管理ツールにケンカ売りたいわけではないですが、IT エンジニアに限らず万民にGitHub issues オススメしたい勢なので、これを機に触ってみようかなって方が少しでも増えたら嬉しいです
    • 何か便利そうなのは分かったけれど、いまひとつ自分じゃどうしたらいいかわからん! って方はお声がけいただいたら力になれるかもしれません
  • どうせなら labels にストーリーポイント設定して、それを集計してみせるとかそういうのもやれたらよかったですね
    • ニーズがあれば、応用編として、続編記事を書くのもやぶさかではない
4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?