LoginSignup
10
9

初めてのJira 〜その2:CSVを用いてIssue作成を自動化しよう〜

Last updated at Posted at 2021-05-08

##はじめに
前回の記事
初めてのJira 〜その1:Project作成からSlack連携まで〜
の続編。

前回の記事の終盤でIssue(課題)を作成したが、あれを一つ一つJira上でちまちまと作成するのは骨が折れる。そこで今回はCSVをImportしてIssueを自動生成する方法をまとめる。

やること自体は単純なのだが、初期設定のままではうまくいかないことが多く苦労したので同じことで苦しんでいる人はぜひ参考にしてほしい。

##できるようになること
こんな感じで、サブタスクがぶら下がったStoryをCSVから自動生成できるようになる。
また、StoryのStoryPoints(以下SP)を、サブタスクのSPの合計になるような自動化も作成する。
スクリーンショット 2021-05-08 23.27.58.png

##ハンズオン

基本的にはこの公式Docを参考にして進めている(読みにくいけど)
CSVからのデータのインポート

Issue作成のためのCSVを作成

下図の赤線を引いた部分が課題フィールドの一例
このそれぞれのフィールドに値を流すCSVフォーマットを作成する
スクリーンショット 2021-05-08 23.59.46.png

今回は下記のようなtest.csvを作成した。自動生成したいフィールドに応じて列は追加してほしい。
CSVの1行目の見出しはなんでもいいが、Jiraのフィールドと名前を合わせておいた方がわかりやすい。
また日本語だと文字コードによっては文字化けするので英語名が無難。

親Issue、もしくは子Issueを持たない単一のIssueはIssueIDにIDを記載。
IssueIDはCSV内で一意にすること。

子として親にぶら下げたいIssueはIssueIDを空白にして、ParentIDを、親にしたいIssueのIssueIDにする

最終行以降に罫線のみ引かれた空行などが存在するとエラーになるので、ExcelなどでテーブルからCSVに変換する場合は注意

下図の例ではFirstIssueがSecond〜FourthIssueの親となる
また、CSVの構造上、親のSP計算をCSV上で行うのは複雑になるためJira側で自動化を作成する。
そのため、今回は親IssueのSPは空白にし、子IssueにのみSPを記入する。
スクリーンショット 2021-05-09 0.14.29.png

###課題レイアウトの変更
デフォルトでは課題に表示されないフィールドもあるので、チームの文化に合わせて課題のレイアウトをアレンジしておくと良い

左タブのプロジェクト設定 > 課題レイアウト から編集できる
から変更できる。下図は今回実施した一例。
スクリーンショット 2021-05-09 1.15.18.png

###カスタムフィールドの設定変更
課題をCSVからインポートする際に、CSVの列をどのJiraフィールドに対応させるかを設定する場面がある。
Jiraフィールドをプルダウンから選択するのだが、初期設定ではSPがプルダウンに現れなかった。
このように、自分が操作したいフィールドが表示されないことがよくあるため、フィールドの設定を変更する。

左タブのプロジェクト設定 > フィールド
右のペンマークボタンをタップすると各フィールドの設定が編集できる。
スクリーンショット 2021-05-09 1.13.35.png

StoryPointを検索し、「画面」をタップ
スクリーンショット 2021-05-09 1.20.40.png

ここで、プルダウンに表示されてほしい画面にチェックを入れて変更を反映する。
今回は全部チェックを入れた。
スクリーンショット 2021-05-09 1.20.19.png

親のSPの値を子のSPの合計にする自動化を作成

英語が苦手じゃない方は元の記事をどうぞ。
How can you automatically sum the story points of all subtasks?

自動化は プロジェクト設定 > 自動化から作成

トリガーはSPが変更されたとき
スクリーンショット 2021-05-09 1.27.20.png

発動条件はそのIssueに親が存在するとき
スクリーンショット 2021-05-09 1.27.28.png

アクションの実行は親に対して行う
スクリーンショット 2021-05-09 1.27.33.png

まずは変更前の親のSPを変数に格納しておく
スクリーンショット 2021-05-09 1.27.39.png

親のSPを子のSPの合計にする
スクリーンショット 2021-05-09 1.27.45.png

変更があったことを通知する。(これは任意)
前回の記事のようにSlackに通知もできる
スクリーンショット 2021-05-09 1.27.56.png

###CSVをインポートする
準備が整ったのでCSVからインポートしていく。
左タブの課題をクリックし、右の三点リードから「CSVから課題をインポート」を選択
スクリーンショット 2021-05-09 1.39.03.png

ここで作成したCSVを選択
スクリーンショット 2021-05-09 1.40.38.png

インポート先のプロジェクトやその他設定を選んで次へ
スクリーンショット 2021-05-09 1.41.45.png

CSVのフィールドとJiraフィールドの対応付けを行う。デフォルトの設定ではこのJiraフィールドのプルダウンにSPが表示されなかったため、あらかじめフィールドの設定を変更しておいたのである。
適切にマッピングを行い右のチェックを入れたら次へ
スクリーンショット 2021-05-09 1.43.50.png

続いて値のマッピングを行う
スクリーンショット 2021-05-09 1.46.30.png

要約や説明のようにテキストで自由に入力できるJiraフィールドの場合は特に気にしなくても良いが、
課題タイプや担当者などJira側で入力のフォーマットがある程度決まっているものは適切にマッピングを行わないとインポートが失敗するので注意が必要。
スクリーンショット 2021-05-09 1.48.05.png

ここまでできたら「インポートの開始」をタップ。心配な人は「検証」で確認してから行うと良い。
成功すると以下のような画面になるので、「作成された課題をチェックします」を選択
スクリーンショット 2021-05-09 1.51.38.png

無事課題が作られた。
スクリーンショット 2021-05-09 1.52.02.png

課題の親子関係もしっかり再現されており、親のSPも子のSPの合計になっている(これは自動化のおかげ)
スクリーンショット 2021-05-09 1.52.22.png

###終わりに
次回以降何を書くかは未定だが、外部ツールとの連携など便利な方法を調べていこうと思う。

ここまで読んでいただきありがとうございました。
この記事が何かのお役に立てれば幸いです。

10
9
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
10
9