ADVERTISEMENT

【Googleスプレッドシート】JiraのチケットをSheetsに取り込み!開発進捗の集計

【Googleスプレッドシート】JiraのチケットをSheetsに取り込み!開発進捗の集計
🛡️ 超解決

Jiraで管理しているチケットをGoogleスプレッドシートに取り込めれば、開発チームの進捗状況を自由に集計・グラフ化できます。しかし、Jiraからデータをエクスポートする方法がわからなかったり、毎回手動で貼り付けるのは面倒です。本記事では、Jiraのチケットをスプレッドシートに取り込む3つの方法を、手順を追って詳しく解説します。これにより、チームのパフォーマンスを可視化し、レポート作成を自動化できるようになります。

【要点】Jiraチケットをスプレッドシートに取り込む3つの方法

  • Jira Cloud for Sheetsアドオン: 数クリックでJiraの課題をシートに表示します。フィルタや集計も簡単です。
  • CSVエクスポートとIMPORTRANGE関数: JiraからCSVを書き出し、別シートからIMPORTRANGEで取り込みます。アドオン不要です。
  • Apps Scriptによる自動取得: スクリプトを定期実行すれば、最新のチケット情報を自動で同期できます。

ADVERTISEMENT

Jiraとスプレッドシートを連携する仕組み

Jiraはプロジェクト管理ツールとして広く使われていますが、カスタムレポートの作成には制限があります。一方、スプレッドシートは自由な集計やグラフ化が得意です。両者を連携することで、Jiraのデータを基に週次レポートやバーンダウンチャートを簡単に作成できます。連携方法は大きく分けて、公式アドオンを使う方法、CSV経由で手動インポートする方法、そしてApps ScriptでAPIを叩く方法の3つがあります。それぞれにメリットと注意点があるため、目的に応じて選択しましょう。

Jiraチケットをスプレッドシートに取り込む具体的な手順

ここでは、3つの方法を順番に解説します。最初の方法が最も簡単で、次の方法はアドオンを使用したくない場合に、最後の方法は完全自動化を目指す場合に適しています。

方法1: Jira Cloud for Sheetsアドオンを使う

Jira Cloud for Sheetsは、Google Workspace Marketplaceからインストールできる公式アドオンです。Jiraの課題データをスプレッドシートに取り込む専用の機能を提供します。

  1. アドオンをインストールする
    Googleスプレッドシートを開き、「拡張機能」→「アドオン」→「アドオンを取得」をクリックします。検索窓に「Jira Cloud for Sheets」と入力し、表示されたアドオンをインストールします。
  2. Jiraアカウントに接続する
    インストール後、「拡張機能」→「Jira Cloud for Sheets」→「Open sidebar」を選択します。サイドバーの「Connect to Jira」ボタンをクリックし、Jiraのドメインと認証情報を入力して連携します。
  3. チケットデータを取り込む
    サイドバーの「Search」タブで、プロジェクトやJQLクエリを指定します。例えば「project = DEV AND status in (“In Progress”, “Done”)」のように条件を設定し、「Get Issues」をクリックします。指定範囲のチケットがシートに展開されます。
  4. データを更新する
    サイドバーの「Refresh」ボタンをクリックすれば、最新のJiraデータにシートを更新できます。定期的に更新が必要な場合は、アドオンの「Schedule refresh」機能を使ってスケジュール設定も可能です。

方法2: CSVエクスポートとIMPORTRANGE関数を使う

Jiraの標準機能である「CSVエクスポート」を利用する方法です。アドオンを入れられない環境でも利用できます。

  1. JiraでCSVをエクスポートする
    Jiraの課題一覧画面で、「エクスポート」→「CSV(すべてのフィールド)」を選択します。必要に応じてフィルタを適用してからエクスポートします。
  2. スプレッドシートにアップロードする
    エクスポートしたCSVファイルをGoogleドライブにアップロードし、スプレッドシートとして開きます(または新規シートにインポート)。
  3. IMPORTRANGE関数で別シートに取り込む
    集計用のシートで、=IMPORTRANGE(“スプレッドシートURL”, “シート名!範囲”)と入力します。例えば=IMPORTRANGE(“https://docs.google.com/spreadsheets/d/xxxxx”, “export!A:Z”)のように指定します。初回はアクセス許可が必要です。
  4. 定期的にCSVを再エクスポートし、元シートを更新する
    新しいデータを反映するには、Jiraから再度CSVをエクスポートし、インポート元のシートを上書きします。IMPORTRANGEは元データが更新されると自動で反映されます。

方法3: Apps Scriptで自動取得する

Google Apps Scriptを使えば、Jira REST APIを直接呼び出してチケットデータを取得し、スプレッドシートに書き込むことができます。一度設定すれば定期実行も可能です。

  1. スクリプトエディタを開く
    スプレッドシートの「拡張機能」→「Apps Script」をクリックします。新しいプロジェクトが開きます。
  2. Jira REST APIを呼び出すコードを記述する
    以下のようなコードを記述します(Jira Cloudの場合)。APIトークンはJiraのアカウント設定で発行します。
    function getJiraIssues() {
    var url = 'https://your-domain.atlassian.net/rest/api/2/search?jql=project=DEV';
    var options = {
    'headers': {
    'Authorization': 'Basic ' + Utilities.base64Encode('your-email:your-api-token')
    }
    };
    var response = UrlFetchApp.fetch(url, options);
    var data = JSON.parse(response.getContentText());
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    // データをシートに書き込む処理
    }
  3. シートに書き込む処理を追加する
    取得したJSONから必要なフィールド(キー、要約、ステータス、担当者など)を抽出し、二次元配列としてシートに設定します。
  4. トリガーを設定する
    スクリプトエディタの時計アイコンからトリガーを追加し、関数「getJiraIssues」を定期的に実行するように設定します。例えば1時間ごとや毎日午前9時などに設定できます。

各方法の注意点とよくあるトラブル

アドオンの権限エラーが発生する

Jira Cloud for Sheetsアドオンを使用する際、認証後に「権限が不足しています」と表示されることがあります。これはJiraアカウントに「プロジェクトの閲覧」権限がない場合に起こります。Jiraの管理者に依頼して、適切な権限を付与してもらいましょう。

IMPORTRANGEがデータを正しく読み込まない

CSVをアップロードしたシートで、IMPORTRANGEを設定しても「#REF!」エラーになる場合があります。原因はアクセス許可の不足です。数式のセルをクリックして表示される許可ボタンを押し、アクセスを許可してください。また、CSVの範囲が大きすぎる場合は、特定の列のみ指定するなど調整が必要です。

Apps Scriptがレート制限に引っかかる

Apps ScriptでJira APIを頻繁に呼び出すと、Jira側のレート制限(1分あたり100リクエストなど)に抵触する可能性があります。対策として、スクリプト内でUtilities.sleep()を使ってリクエスト間隔を空けるか、一度に取得する件数を減らします。

ADVERTISEMENT

各方法の比較表

方法 簡単さ 自動化 機能の豊富さ 制限
Jira Cloud for Sheets 簡単(数クリック) スケジュール更新可能 高い(フィルタ、集計、書式設定) 無料版は件数制限あり
CSV + IMPORTRANGE 普通(手動エクスポートが必要) 手動更新 低(静的なデータ) CSVの列構成変更に弱い
Apps Script 難しい(コード記述が必要) 完全自動化可能 高い(自由にカスタマイズ) APIレート制限、スクリプトのエラー処理が必要

まとめ

本記事では、JiraのチケットをGoogleスプレッドシートに取り込む3つの方法を紹介しました。最も簡単なのはJira Cloud for Sheetsアドオンで、数クリックでデータを取得できます。アドオンを使えない環境ではCSVエクスポート+IMPORTRANGEが代替手段です。さらに自動化を追求したい場合は、Apps ScriptでJira APIを直接呼び出す方法が効果的です。取得したデータは、ピボットテーブルやグラフで進捗を可視化するのに活用できます。まずはアドオンから試して、用途に合わせて最適な方法を選んでください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。