PLAY DEVELOPERS BLOG

HuluやTVerなどの日本最大級の動画配信を支える株式会社PLAYが運営するテックブログです。

HuluやTVerなどの日本最大級の動画配信を支える株式会社PLAYが運営するテックブログです。

スプレッドシートと Jira を連携し課題リストを作成する

こんにちは、Androidアプリの開発を担当しているソリューション技術部の呉です。

システムやアプリ開発にあたっては、タスクや不具合の管理が非常に重要です。それらを一括管理できるJiraという管理システムがあるおかげで、開発がすごくスムーズに進められるケースもたくさんあります。

自分も現在まさにJiraが使われているプロジェクトに参加しています。しかし私の場合、Jiraプロジェクトがお客様によって管理されているので、自分達の都合では自由にカスタマイズできません。

例えば下記のようなバックログリストがあります。

タスク名、ステータス、担当者が表示されていますが、開発側として対応OS、詳細対応状況とかもリストしたいです。しかし、お客さんのルールで管理しているJiraであるため、こちらで欲しい形の一覧リストを作成することができません。

そこで、Googleスプレッドシートに課題を連携させ、それをカスタマイズすることにしました。

本文ではJiraとGoogleスプレッドシートとの連携方法に加え、課題の取得方法、Googleスプレッドシートでの管理の仕方を紹介します。

連携方法

アドオンを取得

新規のスプレッドシートを作成し、
「拡張機能」 > 「アドオン」 > 「アドオンを取得」の順で選択します。

「Jira」と検索し、「Jira Cloud for Sheets」を選択します。

「インストール」を選択し、権限を聞かれたら「続行」をクリックします。
ログイン画面に遷移しますので、権限許可を行います。

下記画面が表示されましたら、
「次へ」>「完了」を押したら、インストール成功です。

スプレッドシートに戻り、「拡張機能」に「Jira Cloud for Sheets」項目が表示できたら、アドオンの取得成功です。

Jiraへの接続

「拡張機能」>「Jira Cloud for Sheets」>「Open...」の順で選択します。

しばらく待つと、右側にJiraメニューが開かれるので、「CONNECT」を選択します。

Atlassianの画面が開かれるので、「Accept」を押して、接続を同意します。
(認証コードを要求される場合があります。認証コードはスプレッドシート右側のJiraメニューに表示されています。)

スプレッドシートに戻り、Jiraメニューにユーザー名の表示と「Get issues from Jira」項目が有効になったら、Jira接続成功です。

Jiraの課題を取得してみる

「Get issues from Jira」>「GET ISSUES NOW」の順で押します。

現在連携したユーザーの閲覧できる課題リストが表示されます。

「キー」のところにリンクも貼ってくれました。とても親切ですね。

JQLを使用して特定の課題を取得

JQLとは

JQLは「Jira Query Language」の略です。 Jira専用のクエリ言語で、課題を検索するのに使います。 JQLは基本検索だけではなく、複雑な検索条件にしたい場合にも利用できます。

support.atlassian.com

JQL利用

JIRA関数

新しいシートを作成して、Jiraメニューの「Settings」を選択します。

「Enable =JIRA() function for users of this sheet.」のチェックを有効にします。

そうするとJIRA関数が使用できるようになりました。

JIRA関数の引数は4つあります。

  1. jql -- Jiraクエリ言語
  2. columns -- 表示項目
  3. offset -- 行数移動
  4. limit -- 取得行数制限

全ての引数は省略可能になっています。 引数なしでも実行することは可能です。

実行してみると

先ほど「GET ISSUES NOW」を実行した結果とほぼ変わらないですね。

FIELDSの確認

「課題タイプ」「キー」「要約」...などの表示項目はFIELDと言います。 確認するにはJiraメニューの「FIELDS」>「EDIT」から一覧が開けます。

「課題タイプ」は issuetype
「キー」は issuekey
「要約」は summary
などがわかります。

JQL作成

JQLを作成してみましょう。

デフォルトのリストは「キー」の降順になっています。「キー」の昇順にしてみます。

JQL:order by issuekey ASC

こちらのプロジェクトは「ラベル」でOS情報を管理しています。

例えば、Androidの課題だけ取得してみます。
JQL:labels = 'Android' order by issuekey ASC

それに加えて、「play-user」担当分だけ取得する場合、JQLはこうなります。
JQL:labels = 'Android' and assignee = 'play-user' order by issuekey ASC

という感じで、SQLと同じ感覚でandorで複数条件を指定して、Jira課題の取得ができます。
もちろん<>などの記号も使用できます。
JQLで利用されるフィールドの公式ドキュメントがあります。 support.atlassian.com

料金について

既存のJiraプロジェクトにアクセス権限を持つユーザーであれば、無料でスプレッドシートと連携できます。
通信データ量による制限や追加料金も発生しません。

※ 新規でJiraプロジェクトを作成する場合、有料プランへの加入が必要なケースが存在します。
  詳しくは 公式ページ を参照してください。

まとめ

最後に情報を整理します。

  • スプレッドシートとJiraの連携方法
  • Jiraアドオンをスプレッドシートにインストールする
  • JiraアドオンからJiraへの接続を行う
  • Jira課題の取得方法
  • JIRA関数を有効化する
  • 課題検索条件からJQLを作成する
  • JIRA関数を実行して課題リストを取得

現在自分もスプレッドシートを使ってJira課題の管理を行っています。
カスタマイズが自由にできるため、管理しやすい課題一覧リストが作れました。課題の確認、対応漏れは大幅に減りました。非常に役に立ったと思っています。

最後までご覧いただきありがとうございました。