Jira改造計画第二章—Automationで簡単自動化Part2
この記事はこんな人にオススメ
○ Jira上で決まって行う作業がストレスになっている
○ Jiraを操作する中で発生するロスを減らしたい
○ Jira Automationの存在は認知したが、具体的にどのように使うのかがわからない
○ Jiraを利用した業務効率化や社内改善に関心がある
この記事で解決されること
○ 異なる職種間の連携の一部を自動化することで、プロジェクト管理をより円滑にする
こんにちは!株式会社RITインターン生兼DXツール調査隊の大平朱莉です。
今回の記事では、Jira改造計画第二章Part2ということで前回に引き続き、Jira操作の自動化を行っていきます!
使用するのは、Jiraの中でも知る人ぞ知る(?)「Automation」という機能です。プログラミングの知識は必要なく、ドラッグアンドドロップでできるので、エンジニアでない方も簡単に実装できますよ!
二部構成になっており、今回のPart2では実際に弊社が抱えていた課題をAutomationを用いて解決していきます◎
「そもそもAutomationって何ぞや」という方は、始め方から基本的な実装例までご紹介しているJira改造計画第二章Part1の記事からご覧ください!
それでは、早速内容に入っていきましょう!!
今回解決したい弊社の課題
今回取り扱うのは、社内のある課題を解決するための実装です。
その課題とはズバリ、
人が絡むことによる無駄をなくし、円滑にエンジニア・デザイナー間の連携を行うこと。
まずは現状と目指す像の整理をしていきます。
<現状>
弊社ではソフトウェア等の何らかの機能を実装する際、エンジニアがある程度実装し終えた後に、エンジニアからデザイナーに通知し、デザイナーに実装してもらう、という工程を挟んでいます。
その際、現状だとJira上で5段階の操作が必要でした。
①エンジニアがチケット課題1を作成する
②デザイナーがチケット【スタイリング】課題1を作成する
③エンジニアが課題1のステータスを完了にする
④エンジニアからデザイナーに通知する
⑤デザイナーが【スタイリング】課題1のステータスを進行中にする
この状態だと、細かい作業に時間を取られるだけでなく、「チケットの作成漏れ」や「職種間の通知漏れ」が発生していました。
<目指す像>
目指す像としては、なるべく人が絡むことによる「漏れ・ダブり」やタイムロスをなくし、円滑に両職種間の連携を行うことでした。
具体的には、先程の5段階の操作を、以下の二段階に減らそうと考えていました。
①エンジニアがチケット課題1を作成する
(自動化)デザイナーがチケット【スタイリング】課題1を作成する
②エンジニアが課題1のステータスを完了にする
(自動化)エンジニアからデザイナーに通知する
(自動化)デザイナーが【スタイリング】課題1のステータスを進行中にする
今回は、この<目指す像>の通りに実装することを目標にします!!
作戦会議
<目指す像>に向けて、Jira上のどんな操作が必要か、Jira Automationのどんな機能が使えそうか、作戦会議していきましょう!
<目指す像>とは、以下のようなものでした。
①エンジニアがチケット課題1を作成する
(自動化)デザイナーがチケット【スタイリング】課題1を作成する
②エンジニアが課題1のステータスを完了にする
(自動化)エンジニアからデザイナーに通知する
(自動化)デザイナーが【スタイリング】課題1のステータスを進行中にする
○ まず、「課題のクローン」というルールを利用すれば、「エンジニアがチケット課題1を作成する」と、「デザイナーがチケット【スタイリング】課題1を作成する」は同時に実行できそうだ、と考えます。
⇒第一段階 エンジニア用チケットが作成されたら、同時にデザイナー用チケットを作成できるようにする
○ つぎに、「課題のトランジション」というルールを用いれば、課題ステータスが変更したのを認識して、何かしらアクションを起こすことができます。
今回は「エンジニアが課題1のステータスを完了に」し次第、「デザイナーが【スタイリング】課題1のステータスを進行中にする」、を実行すると決め、「エンジニアからデザイナーに通知する」ようにします。
⇒第二段階 エンジニア用チケットが「完了」になったら、同時にデザイナー用チケットを「進行中」にする
⇒第三段階 ステータスが「進行中」に変わったら、担当者であるデザイナーにメール通知する
何となく雰囲気はつかめましたでしょうか?これからこの三段階に分けて、少しずつAutomationしていきますよ!!
第一段階
まずは実装手順を確認しましょう!
1-1 いつ新しいアクションを実行するか決める。
⇒「課題の作成時」
1-2 どの課題タイプのとき実行するか決める。
⇒「ストーリー」
1-3 現在の課題を、タイトルに加筆した上で複製する。
⇒【スタイリング】+課題名
1-4 新しいアクションの対象となる課題を決める。
⇒「最も最近に作成された課題」
1-5 課題をどの状態にするかを決める。
⇒複製課題と元課題を「is cloned by」で結びつける
大まかな流れが確認出来たところで、具体的な実装に入っていきましょう!!
1-1 いつ新しいアクションを実行するか決める。
ある課題が作成されたときに一連のルールを開始します。
「新しいトリガー」にて、「課題の作成時」を選択します。
1-2 どの課題タイプのとき実行するか決める。
課題タイプが「ストーリー」だった場合、課題を複製すると決めます。
「新しい条件」にて、「課題フィールドの条件」を選択し、「フィールド」を「課題タイプ」、「条件」を「等しい」、「値」を「ストーリー」とします。
1-3 現在の課題を、タイトルに加筆した上で複製する
作成された課題のクローンを、エンジニア用とデザイナー用で区別できるよう、タイトルの文頭を工夫した上で作成します。
「新しいアクション」にて、「課題のクローン」を選択し、「プロジェクト」を「同じプロジェクト」とし、「課題タイプ」を「同じ課題タイプ」とします。「要約」は【スタイリング】{{issue.summary}}とします。
1-4 新しいアクションの対象となる課題を決める。
「ルール/関連する課題を分割する」にて、「関連課題のタイプ」を「最も最近に作成された課題」とします。
今回の場合、最も最近に作成された課題は1-3で作成した課題になります。
1-5 課題をどの状態にするかを決める。
エンジニア用チケットとデザイナー用チケットを連携させるため、「最も最近に作成された課題」と、クローン元(is cloned by)の課題を紐づけます。
「新しいアクション」にて、「課題をリンク」を選択し、「この課題」を「is cloned by」、「課題」を「課題をトリガー」とします。
ここまでの操作をまとめると以下の通りになります!
ここまでできましたか?これで、エンジニア用チケットが作成されたら、同時にデザイナー用チケットを作成できるようになりました。
実装はまだまだ続きます!どんどん行きましょう~
第二段階
まずは実装手順を確認します。
2-1 課題がどの状態に遷移したとき実行するか決める。
⇒「完了」
2-2 どの課題タイプのとき実行するか決める。
⇒「ストーリー」
2-3 課題がどの状態のとき実行するか決める。
⇒「進行中でない」
2-4 課題をどの状態に遷移するかを決める。
⇒「進行中」
大まかな流れが確認出来たところで、具体的な実装に入っていきましょう!!
2-1 いつ新しいアクションを実行するか決める。
エンジニア用チケットのステータスが「完了」になったとき、一連のルールを開始します。
「新しいトリガー」にて、「課題のトランジション時」を選択し、「ターゲットステータス」を「完了」とします。
2-2 どの課題タイプのとき実行するか決める。
ここにて第一段階で課題を紐づけしたことが活きてきます。2-1で遷移した課題が複製した課題、つまりデザイナー用チケットを対象にします。
「ルール/関連する課題を分割する」にて、「関連課題のタイプ」を「リンクされた課題」、「リンクタイプ」を「clones」とします。
2-3 課題がどの状態のとき実行するか決める。
ステータスが「進行中」ではない課題に対してアクションを実行すると決めます。
「新しい条件」にて、「課題フィールドの条件」を選択し、「フィールド」を「ステータス」、「条件」を「等しくない」、「値」を「進行中」とします。
2-4 課題をどの状態に遷移するかを決める。
課題のステータスを「進行中」に移します。
「新しいアクション」にて、「課題のトランジション」を選択し、「ターゲットステータス」を「進行中」とします。
ここまでの流れをまとめましょう!
これで、エンジニア用チケットが「完了」になったら、同時にデザイナー用チケットを「進行中」にできるようになりました。
ここまででJira上の操作を実装し終えました!最後にメール通知の実装をしていきましょう。
第三段階
まず、実装手順を確認します。
3-1 いつ新しいアクションを実行するか決める。
⇒課題ステータスの変更時
3-2 課題がどの状態のとき実行するか決める。
⇒プロジェクト名「Sandbox」、タイトル「【スタイリング】」を含む、ステータス「進行中」
3-3 どんなアクションを実行するか決める。
⇒「メールを送信」
大まかな流れが確認出来たところで、具体的な実装に入っていきましょう!!
3-1 いつ新しいアクションを実行するか決める。
今回は課題が「To Do」から「進行中」へと変更になった場合に実行したいので、まずはステータスが変更になった場合をトリガーに設定します。
「新しいトリガー」にて、「変更されたフィールド値」を選択し、「変化を監視するためのフィールド」を「ステータス」、「対象」を「課題のトランジション」とします。
3-2 課題がどの状態のとき実行するか決める。
今回はルールを適用するプロジェクトを固定し、ステータスが「進行中」のデザイナーチケットをターゲットとします。
「新しい条件」にて「JQL条件」を選択し、「JQL」に、(project in (Sandbox) AND summary ~ "【スタイリング】" AND status = "In Progress")を入力します。
3-3 どんなアクションを実行するか決める。
デザイナー課題のステータスが「進行中」になったら、課題の担当者であるデザイナーにメールで通知します。
「新しいアクション」にて、「メールを送信」を選択し、「ターゲットステータス」を「担当者」とします。今回は「件名」を「{{issue.key}}のステータスが「進行中」に更新されました」、「コンテンツ」を「この通知は、エンジニアが該当する作業の状態を「完了」させたため、デザイナーが該当する作業の状態を「進行中」に自動的に更新したことを、デザイナー担当者に知らせるためのものです。」としました。
ここまでの実装をまとめると、以下のようになります!
じゃん!
これで全ての段階のルール実装が完了しました!やったー!!
いざ、実行!
忘れてはならないのがこの実行タイム。
チケットを作成すると…
タイトルが加筆されたチケット(デザイナー用チケット)が自動で出現!
担当者を配属しておきます。
元のチケット(エンジニア用チケット)のステータスを「完了」にすると…
デザイナー用チケットのステータスが自動で「進行中」に!
数秒経って、チケットのステータスが変更されたことが担当者宛てに通知されました。
正常に実行されたことが確認できました!
これにて、エンジニアとデザイナーの自動連携、実装完了です!
DXツール調査依頼、募集中です!
DXツール調査隊では、読者の皆さんからいただいたご質問に、note記事にて回答させていただきたいと思っています!
「タスク管理がうまくいかない」「今最もアツいRPAを教えてほしい」等、漠然とした質問で大丈夫!DX初心者の調査隊員が皆さんに代わって調査いたします☆
以下の手段のどちらかから、お気軽にお問い合わせください!
①件名を「DXツール調査依頼」、本文に具体的な調査事項を記載いただき、virtual-dx@rit-inc.co.jp宛にご連絡いただく。
②DX調査隊シリーズのnote記事にコメントいただく。
DXツール調査隊についてもっと知りたい方は、こちらをご覧ください!
皆さんのご依頼、お待ちしています!!
この記事を書いたのは?
#Jira #Automation #プロジェクト管理 #PJ管理 #Backlog #Atlassian #DX #DXコンサル #業務改善 #業務効率化 #ITコンサルティング #DXツール #DX調査隊 #DXツール調査隊 #おすすめツール #RPA #自動化