104 - エピックテンプレート - 繰り返し利用できる Issue セット
目的
一貫して繰り返し発生するイベントのセットを管理する必要がある場面はよくあります。たとえば、チームの活動全体を追跡するために複数の Issue を使うようなケースです。このページでは、GitLab Issue Import と少しのスプレッドシート技を活用して、将来のプロジェクトで再利用できる Issue セットを作成する方法を説明します。
Issue の Import CSV ボタンは、GitLab プロジェクトの Issue 一覧の上部にあります。この機能は、似たような Issue / 作業のグループを持つ繰り返しプロジェクトで非常に役立ちます。

プロジェクトに Issue をインポートする前に、必ず「ヒントとコツ」セクションをお読みください
前提条件
GitLab のプロジェクト、グループ、エピック、マイルストーン、Issue、ラベルがどう機能するかという構造に習熟していること。もしご存じない場合は、GitLab 101- No Tissues with Issues をご確認ください。
スプレッドシートで作業し、数式を使ってセルにテキストを 連結 することに慣れていること。注: 例では
concat関数と同じである&演算子を使用しています。プロジェクトで Developer 以上の権限レベルを持っていること。(Issue のインポートに必要です)
Issue は同じプロジェクト内に作成されます。プロジェクトをまたぐテンプレートでもこれを行うことはできますが、その場合は Issue を移動先のプロジェクトに移動するか(自動化可能)、より手動的にプロジェクトごとに別の CSV をアップロードする必要があります。Issue を別のプロジェクトに自動で移動する方法については、自動化チュートリアル をご覧ください。
背景
Issue の
Import CSVは 本当にシンプル です。必要なカラムは2つだけです。- title
- description
Issue はカンマ区切りファイルに格納します。最初の行はヘッダーで、その後の行にデータが入ります。
Issue の
Import CSVは 本当にパワフル です。クイックアクション (/Quick Actions) を使うと、新規 Issue に対して以下のようなクールなことができます。
- ラベルの追加
- 期日の設定
- マイルストーンへの追加
- エピックへの追加
- 重み付けの設定
- 工数見積もりの設定
- 個人への割り当て
注: GitLab ドキュメントの CSV からの Issue インポート を参照してください。
手順
1. Issue 用スプレッドシートの作成
Issue セットのプロジェクト構造を決めます。具体的には、
- このプロジェクトで使う
labelsは何か、 - 作業を追跡するために使う
epicsおよびsub-epicsは何か、 - この作業で使う
milestonesは何か、を決めます。
これらの構造が GitLab にまだ存在しない場合は、今すぐ設定 してください。
1.1 スプレッドシートのセットアップ
- 必要なカラムは2つ(Title と Description)だけですが、Issue の詳細を別々にして管理しやすくするために、複数のカラムを持っておくと便利です。次のカラムを持つスプレッドシートを構成します。
1つ目: - Issue タイトルと説明の基本テキストを入れる2つのカラム。
raw title,raw description, これら2つのカラムには、Issue のタイトルと説明のテキストを入力します。
2つ目: Issue タイトルと説明の実際のテキストが「組み立てられる」2つのカラム。
title,descriptionこれら2つのカラムは実際には、Issue の Title と Description を構成するために異なるセルを組み合わせる数式です。
3つ目: Issue 固有の クイックアクション を保持する1つ以上の追加カラム。これらのカラムには epics、estimates、labels などのコンテンツを格納できます。サンプルのスプレッドシートでは、各 Issue に対する個別データを持つカラムが以下のようにあります。
Team Label、Type、Effort、Size、Epic、Milestone、Iteration
完成すると、このようになります。

4つ目: すべての Issue に同じ Label や クイックアクション を持たせたい場合は、スプレッドシート上部のセルが共通の クイックアクション を置く場所になります。

1.2 最初の Issue をドラフトする
ヘッダー行の下の行で、以下を記述してください。
1.1 - Raw Title - Issue タイトルのテキスト
1.2 - Raw Description - Markdown で書いた Issue の説明注: Google スプレッドシートでは、Formula バーで作業すると複数行のテキストをセルに入力しやすくて便利です。

クイックアクション カラムには、ラベル追加、工数設定、マイルストーンやエピックへの追加など、適切なクイックアクションを追加してください。ここで、GitLab で追跡される各 Issue をカスタマイズできます。

注: 自動化を使っている場合は、Issue をエピックに昇格させるラベルや、Issue を別プロジェクトに移動する、機密にする、その他クイックアクションでやりたいことを自動化するためのラベルを使うことができます。自動化が Issue をどのように更新できるかについて、より詳しくは 自動化チュートリアル をお読みください。
公開されている サンプルインポートスプレッドシート をご覧ください。
2. Issue をインポートする
titleとdescriptionのセル(カラムヘッダーを含む)を選択して内容をコピーしてください。- 新しい空のスプレッドシートに移動して
値として貼り付けしてください。これで数式は除去され、実際の値だけが保持されます。 - 新しいスプレッドシートを CSV ファイルとして保存してください。ファイルは 必ず
titleとdescriptionの2カラムだけにしてください。 - プロジェクトの Issue 一覧に行き、
Import CSVボタンをクリックしてください。
- ダイアログボックスで、ファイル名ボタンをクリックして CSV ファイルを選択してください。

Import Issuesボタンをクリックして、インポートが完了するのを待ってください。
重要 - ヒント、コツ、メモ - 最初に読んでください
インポートファイルを テスト するために別のプロジェクトを作成してください。GitLab には Issue を削除する方法はありません。クローズ することはできますが、削除はできません。なので、20 個の Issue をインポートしてミスをした場合、テストプロジェクトが GitLab 階層のどこにあるかによって、以下のことが必要になります。
- すべてのラベル、マイルストーン、エピックなどを削除する(ラベルとエピックは上位グループに伝播します)
- 個人に割り当てられた Issue の割り当てを解除する
- Issue をクローズする
GitLab プロジェクトの 実際の Issue を使って
クイックアクションのコードを記述します。次にそのクイックアクションをスプレッドシートにコピー&ペーストしてください。そうすることで、クイックアクションにタイポやエラーが入りません。Issue の 順序 は、最初の行から最後の行まで順次に並びます。つまりスプレッドシートの最初の行は GitLab で(デフォルトの
issue created dateでソートされた場合)最後 に表示されます。一方、スプレッドシートを逆順に並べた場合は、最後の Issue が最初に読み込まれます。それらは 古く なるため、GitLab Issue 一覧では最後にリストされることになります。
