これはなに?
Jiraを使ってタスク管理をしていると、
「子課題のステータスだけ変えて、親課題のステータス更新を忘れていた......」
「ストーリーやサブタスクが多すぎて、ステータス全部変えるの大変......」
ということ、ありませんか?
それをAutomationで解決する方法について書いている備忘録になります。
結論
Automationの設定としてはこのようになります。
この例では、子課題のステータスが「対応中」に変わったら、親課題も「対応中」へ変わるようになっています。
JQLは使いません。かなりシンプルですね。
自動化の設定詳細
トリガーやIF条件はそのままなので説明を割愛します。
ここではポイントとなる「ブランチ」コンポーネントとルール詳細の設定について記載します。
ブランチ(分岐)
JiraのAutomationにおけるメインルートのルールでは、トリガーした課題に対して処理が実行されますが、
トリガーした課題とは別の課題を操作したい場合は、このブランチコンポーネントを使って設定を行います。
ブランチでどのような課題を対象にできるか
2024年9月現在、関連課題のタイプとしては下記項目が選べます。
- 現在の課題
- 親
- 子
- サブタスク
- ストーリー(またはエピックの他の課題)
- エピック
- 作成されたすべての課題
- 最も最近に作成された課題
- リンクされた課題
- ターゲットの課題
- JQL
- バージョンで修正された課題
- スプリントの課題
- 類似する課題の説明
今回はブランチルール内で親を対象に操作していましたが、対象が上記のように色々と選べるので、下記のようなこともできそうですね。
- 親課題が完了したら子課題もすべて完了ステータスに変わる
- 課題が完了したら、その課題に関連している課題を次スプリントにセットする
- スプリント終了の〇日前になったら、スプリントバックログで未対応になっている課題にアサインされているメンバーにメンション付きコメントを飛ばす
ブランチの制限
ブランチコンポーネントで分岐させたルール内では、いくつか制限事項があります。
-
入れ子
- あるブランチを別のブランチの中に入れることはできません
-
If/else条件
- If/elseブロック条件をブランチ内で使用することはできません
- 結論に書いたフローのように、他のIF条件コンポーネントは使用可能
-
独立
- ブランチで生じた変更は、メインルールやその他のブランチからは確認できません
- たとえば、ブランチに [変数を作成] アクションがある場合は、作成したスマートバリューは同じブランチでは使用できますがメインルールや他のブランチでは使用できません
ルール詳細でAutomationのアクションによるトリガーを許可する
結論に書いたルールを例にすると、ただルール部分を設定しただけでは下記のような状態になってしまいます。
- サブタスクのステータス変更時にその親のストーリーは自動でステータス変更される
- しかし、そのストーリーの親となるエピックまでは自動変更がされない
Automationによって変更されたアクションもトリガーの対象としたい場合は、ルール詳細で下記のチェックを入れる必要があります。
このチェックを入れると、Automationによるアクション時でもトリガーとして機能し、自動化ルールが動くようになります。