12
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Atlassian】Jira Automationの概要(オペレーション自動化)

12
Last updated at Posted at 2025-12-24

はじめに

※この記事は、KDDIアジャイル開発センター(KAG) Advent Calendar 2025 シリーズ3 最終日の記事です

弊社(KDDIアジャイル開発センター、以下「KAG」)では、プロジェクト・ドキュメントの管理にJira・ConfluenceなどのAtlassian製品を使用しています

またそのAtlassisan製品について、今年KDDIグループ全体でDataCenter(=オンプレ)版からクラウド版への完全移行を実施し、それに合わせて一部オペレーションの自動化などの業務改善も実施しました

今回はその「一部オペレーションの自動化」で使用している「Jira Automation(=Jira自動化)」を紹介します

注意事項

  • 今回は概要紹介がメインです。各機能の詳細に踏み込んだ内容(=deep-dive)には触れていません
  • 詳細が気になる方は、下記Jira Automation公式ページより調べてみてください

Jira Automationとは?

各種Atlassian製品に組み込まれている、ワークフローを作成し一連のオペレーションを自動実行するための仕組み。

「ルール」としてワークフローを作成することで、実行条件が満たされた際のオペレーションを自動で実行することが可能になり、作業工数削減・ヒューマンエラー防止などの効果が期待できる。

例えば、下記のような自動化が可能です。

  • Jiraタスクが作成された際、担当者を自動で割り振る
  • Jira Service Management1でサポート依頼が作成された際、サポート担当者全員にメールを送信する...など

AWSで例えると「Workflow StudioでStep Functionsのステートマシンを作成する」ような感じです。

なお「Jira Automation」という名前ですが、Jira以外のツール(Confluenceなど)にもこの機能はあります

実際のワークフロー

実際のワークフローは、以下のようなものです。

jsm2.png

初めに「ルール」を作成し、そのルールの実行条件を設定した後、実際の処理として(上の画像のような)各種アクションやフロー(=条件分岐、For Eachなど)のブロックをつなぎ合わせたワークフローを作成する感じです

よく使うブロック

Jira Automationでよく使うブロックとして、以下のものがあります。
これだけでも覚えておくと便利です(その他、AWS/Azure/GCなど各種クラウドへの接続ブロックなどがあります)

ブロック名 説明 備考
アクションを記録 実行結果を「監査ログ」に記載します ・いわゆる「デバッグログ」的に使用(多用)します
・ここでいう「監査ログ」はセキュリティ云々ではなく、Jira Automation内部の「ログ保管庫」になります
変数を作成 ある値を「変数」として定義することで、以後のフローでその変数経由で値にアクセス可能になります。 ・後から使う予定の値がある場合に便利です
・変数には後述する「スマート値」としてアクセスします
作業項目にコメントを追加 ワークフロートリガ元のJiraやJira Service Managementのチケットに対して、チケットコメントを追加できます ・処理結果をコメントに記載するのに便利です
Webリクエストを送信 Rest APIなどへのリクエストを送信できます ・リクエスト結果(ステータスコードなど)による処理は、専用の項目が用意されています。
・レスポンスとして取得した値を後のワークフローで使うことも可能です
IF-条件を設定 「ある条件を満たしたかどうか」で処理を分岐させることができます ・具体的には、さまざまな条件を設定することが可能です。(チケットのステータス、チケットの特定フィールドの値...など)
For Each 配列の要素など、複数の値について、同じ処理を実施させることが可能です ・Premiumなど、一部プランでのみ利用可能

スマート値(Smart Value)について

ワークフローを作成していると、下記のような処理を行いたいケースが出てきます

  • チケットの情報(作成者、チケットのフィールド値、チケットのIDなど)を取得したい
  • 日付を取得したい
  • 何かの文字列に対し、変換・切り出し処理などを行いたい(関数などで)

これらのケースに対し、Jira Automationでは「スマート値(Smart Value)」というものが用意されており、これを使用することでこれらのケースに対応することができます。

スマート値は{{キー名}} という形式で記載し、例えば下記のようなものがあります(他にもたくさんあります。詳細は上記サイトにて確認)

スマート値 説明 備考
{{issue.reporter.displayName}} チケットの作成者の名前
{{issue.summary.left(5)}} left関数を使用し、チケットのタイトルから先頭5文字を抜き差します これ以外にも、このような関数がたくさん用意されています。(詳細は上記公式サイトを参照)
{{「変数を作成」ブロックで設定した変数名}} 「変数を作成」ブロックで設定した変数に格納されている値を取得できます 例えば「変数を作成」ブロックで 変数名:abc, 値:hogeと設定した場合、{{abc}} というスマート値から「hoge」という値が取得できる

注意する点(一例)

  • 「変数を作成」ブロックで作成した変数の値は、必ず文字列になります。
    • そのため例えば数値を変数に格納した場合、変数かの値を四則演算することできなくなります
  • 「IF-条件を設定」ブロックにおいてフローを分岐した場合、再度フローを合流させる(=特定の箇所だけ処理を分ける、特定の処理のみスキップする)ことはできません
    • 二度手間ですが、同一処理を両方のフローに記載する必要があります
  • 「IF-条件を設定」ブロックについて、IF-Else分岐内でさらに「IF-Else」分岐を設定する(=IF-Elseのネスト)を行うことはできません
  • 「For Each」ブロックは、名前からはループ処理のように見えますが、実際には同時並列処理(Parallel)を行うブロックになります
    • そのため「For Each」ブロック内であるブロックの後に「Delay(一定時間処理をWaitさせる)」を設定しても、「処理1→Delay→処理2→Delay...」みたいな実行にはなりませんので、注意が必要です

実際使った感想(メリット・デメリット)

便利な点

  • Jira・Jira Service Management・ConfluenceなどAtlassian製品についての各種処理・フィールドなどを扱いやすい
  • Atlassian製品内で完結するオペレーションについて、自動化を行いやすい
  • Webリクエスト送信がとてもシンプルな設定で実施可能(ここはStep Functionsより便利だと感じました)

不便な点

  • 「IF-Elseにのネストが不可」「IF-Elseで分岐したフローを再度合流させることが不可」「1フローにつきブロック数が最大65個まで」などの制約があり、あまり手の込んだフローは作成できません
    • 技術系ではない部署の方が業務オペレーションを自動化するのに向いているかも
  • (個人的な感想として)AWS、その他クラウドのサービスを扱うブロックがちょっと少ない印象
    • AWSについて、少し前まではAmazon SNSしかサポートしていなかった。ただ最近サポートするAWSのサービスが増えたので、それに期待

まとめ

以上、Jira Automation(Jira自動化)の概要&オペレーション自動化についてでした。

もちろん不便な点もありますが、Jira・Confluence・Jira Service ManagementなどのAtlassian製品についての各種処理を扱うのに向いており、自動化の第一歩として使用する分には便利な機能です。

このブログではあまりJira Automationの深掘りはしていませんが、気になった方は先述の公式ページより詳細を調べてみて、ぜひJira Automationによるオペレーション自動化にチャレンジしてみてください

それでは、今回はこの辺で

  1. インシデントや社内・カスタマーサポートなどを管理・実施可能なAtlassian製品(弊社ではCloud版移行後のCloud版に関する社員からのサポートに使用しています)

12
0
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
12
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?