関連する課題にアクションを実行するために自動化ルールのブランチを作成する
独立した課題は稀です。多くの場合サブタスクが含まれていたり、大きなエピックのストーリーであったり、特定の関係性を使用して他の課題に単にリンクされていたりします。つまり、自動化を使用する際は、ルールをトリガーしたソースの課題だけではなく、ソースの課題に関連するすべての課題に対してアクションを適用する必要があることよくあります。
課題の複雑な関係に対応できる強力なルールを作成するための、特別な条件やアクションがあります。たとえば、親課題のサブタスクがすべて解決されたことを確認するなどです。
ブランチ ルール アクションでは、関連する課題に対してアクション (すべてのサブタスクのトランジションなど) が適用されます。
[関連する課題] 条件では、リンクされたすべての課題がクローズされているかどうかなど、関連する課題の状態が確認されます。
別のプロジェクトの課題を操作するには、ルールは複数のプロジェクトまたはグローバル ルールのいずれかとして、課題が存在するプロジェクト内で実行できる必要があります。
関連課題のブランチを作成する
自動化ルールの設定時に、関連課題に対してアクションを実行することができます。これを、「ブランチの作成」と言います。これは、直線的には実行されていないが、複数のパスに拡張して実行されるルールを指します。
課題または課題のリストに対してルールのブランチが作成されると、ルールのサブブランチが各課題に対して実行されます。{{issue}}
に対するすべてのアクションと参照は、トリガー課題でなく関連する課題をポイントします。
注: {{triggerIssue}}
を代用して、トリガー課題を引き続き参照できます。
また、これらの課題を一括処理するためのオプションも用意されています。
ブランチの作成は次のような多数のケースで役立ちます。
- 値を親からフィールド X にコピーすることで、すべてのサブタスクを同期させる
- ストーリーが「進行中」に移動した際に、エピックを「進行中」に移動する
- 課題が解決された際に「ブロックされている」のリンクされた課題にコメントする
ブランチ実行の順番を付ける
複数の課題 (4 件のサブタスクなど) に対するブランチは同時に実行されますが、必ずしも次のブランチの開始前に前のブランチが完了するわけではありません。そのため、ブランチ間の変更には注意が必要です。
複数の課題上のブランチは新規プロセスとして実行され、メインブランチはサブブランチが開始するまで実行を続けます。
- 単一課題のブランチは (パフォーマンスのために) 直列で実行されるため、メイン ブランチはサブブランチが完了するまで実行を継続しません。
作成済み課題にアクセスする
自動化ルールは「課題を作成」または「課題を複製」で課題を作成できます。(コメントの追加やサブタスクの作成など) 同じルールで新規作成された課題に対してさらなるアクションを実行する場合は、関連する課題ブランチが必要です。
これは、自動化ルールのメイン ルールの実行ブランチが、作成された課題ではなくトリガー課題に対して常にルールを適用するためです。たとえば、ルール内で [課題を作成] アクションのあとに [課題にコメント] アクションを追加すると、コメントは作成された課題ではなく、トリガー課題に追加されます。
この問題を解決するルールの例を次に示します。
また、アクションを必要とする課題がそれ 1 つしかない場合は、関連する課題の条件で「直近に作成された」課題を選択できます。
分岐の制限
ネスティング: ブランチはお互いにネストできません。また、If/Else ブロック条件には対応していません。
独立: ブランチは独立しています。ブランチで生じた変更は、メイン ブランチやその他のブランチからは確認できません。
関連課題の条件
[関連する課題] 条件では、ルール実行前に関連する課題の状態が確認されます。
この条件は幅広いユース ケースで使用可能であり、たとえば次の内容の確認に使用されます。
課題に特定タイプのリンク済み課題があるかどうか
課題に親またはエピックがあるかどうか
スプリント/バージョンの課題の中に割り当てされていないものがあるかどうか
エピック内のすべてのストーリーが解決済みの場合。
特定タイプの解決済みサブタスクに特定の値セットがあるかどうか
関連課題の条件をセットアップする
関連の課題タイプを選択します。
サブタスク
親
ストーリー (または、このエピックのその他の課題)
エピック
作成した課題
紐づく課題
関連課題が次の状態かどうかを確認する条件を選択します。
存在する
存在しない
すべて指定 JQL と一致する
いずれも指定 JQL と一致しない
一部が指定 JQL と一致する
[保存] を選択します。