Lookerを使用したバグと対策の管理方法

TRIAL＆RetailAI Advent Calendar 2024 17日目の投稿です。

https://qiita.com/advent-calendar/2024/retail-ai

前日は@urakawa_jinseiさんの「[非公式のHTTPステータスコードまとめ](https://qiita.com/urakawa_jinsei/items/15273e301da6abf2bdde)」という記事でした。

# はじめに
今まで私が所属するチームはJiraを使用してバグチケットの管理を行なっています。また、チームメンバー全員が集まり、バグ全体の傾向を把握するためにスプレッドシートへエクスポートしてグラフを作成し、不具合の傾向を分析していました。

しかし、上記の運用方法を続ける中で発生した問題は以下の通りです。
- 新しい課題を毎回エクスポートしないといけないことが手間。
- バグチケットの数が多くなりすぎてスプレッドシートが重くなり、管理が難しい。
- Jiraとスプレッドシートを行き来することが手間。特にオンライン会議でタブを切り替えることが手間。

そこで、より多くの不具合を一括で管理できるよう、Googleが提供するLooker Studioを使用してJira上のバグチケットを管理するためにJiraとLookerの連携方法と、便利に一括管理を行うためのダッシュボードの作成方法を記載します。

# Jiraとスプレッドシートの連携
1. 新しいスプレッドシートを作成し、画面上タブの「拡張機能 > アドオン > アドオンを取得」をクリックします。
1. スプレッドシートのアドオン一覧が検索できるので、"Jira Cloud for Sheets"をインストールする。
1. インストール後、「拡張機能 > Jira Cloud for Sheet > Open」をクリックすると、Jira Cloud for Sheetが画面端で表示される。
1. ISSUEタブでJiraチケットの取得元のプロジェクト、課題タイプ、最大課題取得数を設定する。
![スクリーンショット 2024-12-17 20.27.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/23960f54-28ef-8a08-86cd-2cb85fa98c63.png)
1. FLIELDSタブで取得したいチケット内の項目を選択する。バグの管理であればバグの原因、バグが発生したフェーズ、バグの影響度などが挙げられる。![スクリーンショット 2024-12-17 20.28.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/5b84d0b8-3429-1d65-ecbc-aa0e4d19a4fc.png)
1. SCHEDULEではJiraの課題を自動でインポートするスケジュールを設定する。これを設定すれば理論的には二度と重たいスプレッドシートを開かなくても良い。![スクリーンショット 2024-12-17 20.28.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/e934bb52-e0da-c0ba-7f7f-4f6f5f12ef40.png)
1. ISSUES、FIELDS、SCHEDULEを設定した後は「ERP ISSUES NOW」をクリックすれば即時にJiraからチケットのデータがインポートされ、SCHEDULEで設定した間隔に基づいて自動でインポートがなされます。![スクリーンショット 2024-12-17 20.42.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/59143b0c-f274-7f97-c38f-931d81904f33.png)


# スプレッドシートとLookerを連携
1. Looker Studioで空のレポートを新規に作成。

1. 最初に画面を開くとデータ取得先のサービスを指定できるので、スプレッドシートを選択。![スクリーンショット 2024-12-17 20.48.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/ff7b2f20-bceb-e760-94c5-89db4b5054f5.png)
1. データ取得元のスプレッドシートを選択。無題のレポート以外の名前を記入すると良いと思います。![スクリーンショット 2024-12-17 20.50.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/014b1d60-2b88-f0e2-66b9-e000f11cb107.png)
1. 複数のシートが存在するスプレッドシートであればシート名を選択。「先頭行を見出したとして使用」を有効にした状態で「追加をクリック」![スクリーンショット 2024-12-17 20.50.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/8840acdb-7058-ecd7-4994-d1cc51f1baa8.png)
1. スプレッドシートにインポートしたJiraチケットの値の一覧が抽出できるようになります。データにある項目からディメンションへドラッグ&ドロップするだけで様々な表やグラフを作成することができます。![スクリーンショット 2024-12-17 21.03.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/be8e8c43-a093-a0f4-8d56-4d2ad70a3d00.png)

ここまででJiraとLookerを連携させることができましたので、次はバグチケット一覧とグラフをLooker上で作成します。
# ハイパーリンク付きの課題一覧表の作成
JiraはUI上でチケットへのハイパーリンクを活用することによって、チケットの一覧とチケットの詳細を切り替えやすいことが特徴です。
しかし、Jiraからスプレッドシートへフィールド値としてURLをエクスポートすることができませんので、Looker上でJiraのハイパーリンクをクリックして即時チケットの中身を確認するということはこのままではできません。
そのため、Lookerの計算フィールドという機能を使用して各チケットへのURLを表示されるようにします。
<br>
1. 任意のグラフを選択し、グラフのディメンションにJitaチケットのキー(ABCD-123など)を値として持つ項目をデータからドラッグ&ドロップで追加（この場合はキー)。![スクリーンショット 2024-12-17 21.17.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/4d862e0b-481b-1daa-cd31-c719eae4e578.png)
1. ディメンションに移動させたキーをクリックし、「計算フィールドを追加」をクリックする。
1. 名前に任意の文字列を記入する。データの種類を文字列からURLに指定することで、Looker上でハイパーリンクを表示させることができる。
    1. 計算式の欄にはCONCAT("https://使用しているJiraのドメイン名/issues/", キー)を入力する。CONCAT()は文字列を結合して表示するためのLookerの関数。 ![スクリーンショット 2024-12-17 21.20.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/966aff65-a023-9d4f-e6c6-4cb47a8eb2ad.png)
1. 「適応」をクリックすると、表に新たに「チケットURL」という列が表示され、Lookerの表でハイパーリンクが表示されるようになり、クリックすることでJiraと同じように課題を開くことができます。![スクリーンショット 2024-12-17 21.22.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618321/4d09e39f-91e8-ccab-5798-bf3a125c05a5.png)

過去の不具合を管理するということは重要ではあるものの、件数が多くなってくると管理が大変になってしまい、不具合への対策がチーム全体で疎かになってしまう…ということがないように、ちょっとしたことですがこのように管理をしやすいようにすることは重要だと思います。

# 終わりに
明日は @kyojinnaapyon さんの「Google Vision AIでレシートスキャンに挑戦！Kotlin × Quarkusでアプリを作ってみた」という記事です。お楽しみに！
RetailAIとトライアルではエンジニアを募集しています。
興味がある方はご連絡ください！

https://recruit.jobcan.jp/retail-ai/