自動化ルールの最適化に関するベスト プラクティス
次のベスト プラクティス ガイドラインによって Jira 自動化ルールを最適化することで、より円滑に実行できて管理しやすくなります。
管理性
ルールを作成する前に計画を立てる
事前計画は、どのようなルールが必須であり、どのような状況で条件によってルールを結合するかを慎重に検討するのに役立ちます。
実行するワークフローとアクションから始めて、各アクションをいつどのようにトリガーするかまでを検討します。たとえば、課題に対する顧客のすべてのフィードバック コメントにメールを送信するか、優先度の高い課題に対するコメントにのみメールを送信するかといったことです。
ビジネスと業務プロセスに合わせた自動化計画
自動化ルールは、ビジネスと業務の各プロセスを連携させて効率を上げるのに役立ちます。自動化ルールの確認は、ビジネスと業務の各プロセスの確認と同時に行ってください。
パフォーマンス
特定のプロジェクトにルールを制限する
既存のルールについては、そのスコープをグローバルからプロジェクト固有に変更できるかどうかをご確認ください。一致するルールのないイベントはすべて除外されて、自動化キューが最適化されます。
スコープは、特定のプロジェクト、複数のプロジェクト、またはすべてのプロジェクト (グローバル) に設定できます。
推奨事項:
ルールが少数のプロジェクトに適用される場合は、スコープをそれらのプロジェクトのみに設定します。これによって、非常に早い段階でルール実行が制限されます。
ルールが実際に多くのまたはすべてのプロジェクトに適用される場合は、類似または重複するルールをマージしてからそれらをグローバルに適用してみてください。
ルールを結合する
類似するルールが複数ある場合は、それらを 1 つにマージしてインスタンスのルール数を減らします。
これらの個別のルールを確認して、すべてを 1 つにまとめる方法を見てみましょう。
ルール 1 | ルール 2 | ルール 3 |
---|---|---|
|
|
|
結合されたルールは次のようになります。
ルールを結合する |
---|
ステータスが作業前/進行中で SLO が 5 日以内の課題の場合:
|
条件の順序に注意する
ルール チェーン内で最も多くの課題をできるだけ早く除外する条件を使用することをお勧めします。次の点にご注意ください。
一部のトリガーでは、ルールをトリガーするアクションの数を制限できます。たとえば、フィールド値の変更トリガーは課題のトランジション アクションのみに制限できます。
一部の比較条件では、他の条件よりも課題数が制限されます。ほとんどの場合、課題の StatusCategory が [完了] と異なるかどうかを確認するよりも、課題が特定のユーザーに割り当てられているかどうかを確認したほうが課題数が制限されます。そのため、担当者を確認することから始めるべきです。
条件の中には実行コストが高いもの (たとえば JQL 条件) もあるため、このような条件はルール チェーンのできるだけ遅い段階で実行する必要があります。
ブランチの使用は控えめにする
ブランチ ルールは必要な場合にのみ使用してください。上記の表に示すように、ブランチはルールを結合するのに適しています。それ以外の場合にブランチ ルールによってインスタンスの速度が低下する可能性があります。
アクションが多くなりすぎないようにする
複数の操作を実行する必要がある場合は、各アクションでできるだけ多くの操作を実行するようにしてください。これによって、ルールを実行するために必要なアクションの数を減らせます。たとえば、1 つの [課題を編集] アクションで複数の課題フィールドを編集できます。[課題をトランジション] アクションでも、課題フィールドを編集できます。
実行時間の長いルールをピーク時にスケジュールするのを避ける
特に長時間の実行が想定されるルールは、ピーク時間外にスケジュールするようにしてください。ピーク時には、インスタンスが既に過負荷になっている可能性があります。この目的ではルール スケジュールを使用します。
クリーンアップと制限
監査ログ項目を期限切れにする
初期設定では、監査ログは有効期限なしに設定されています。他の値に変更して、古くなったエントリを失効させることをお勧めします。そうしないと、監査ログのサイズがすぐに大きくなってパフォーマンスに影響が生じる可能性があります。
定期的にクリーンアップする
ルールを定期的に見直して、パフォーマンスへの影響が大きく価値の低いルールは削除してください。データベース クエリによって、このようなルールをすばやく見つけられます。ルール統計の詳細をご確認ください。
サービス制限に注意する
サービス制限は慎重に選択されており、変更するとパフォーマンスの問題が発生する可能性があります。必要な場合にのみ変更してください。サービス制限の詳細をご確認ください。
自動化をバッチ処理プログラムとして使用することは避ける
Jira Automation を課題のバッチ処理プログラムとして使用することは避ける必要があります。たとえば、広範なトリガー フィルターがあるために調整制限に達してしまうようなルールが該当します。これらのルールは実行に時間を要し、調整される可能性があり、その結果として、一部の課題がまったく処理されなくなります。サービス制限の詳細をご確認ください。
JQL クエリ
JQL クエリを最適化する
トリガーと条件で使用される JQL クエリを最適化するようにしてください。これらのクエリは非常に頻繁に実行されて、パフォーマンスに影響を与えます。JQL のパフォーマンスに影響を与える要因をご確認ください。
JQL クエリの対象を絞り込む
JQL コンポーネントでルールを作成する際には、クエリによって返される課題の数をご確認ください (スマート バリューを使用する場合を除く)。数が多い場合は、JQL クエリの対象をさらに絞り込んでください。
ルール設定
同期実行を避ける
同期ルール実行は必要な場合にのみ使用してください。次の設定で有効になります。
ルール同士のトリガーを許可する場合は注意する
ルールを別のルールによってトリガーするように設定できます (次の設定)。多数のルールでこの設定を有効にすると、チェーン ルール実行が制御不能になる可能性があります。これは、課題の更新など、非常に一般的なトリガーを使用するルールに対して特に重要です。
連携
Web ベースの統合 (Webhook) に注意する
Web ベースの統合 (Webhook) はルールの実行速度を大幅に低下させる可能性があるため、必要な場合にのみ使用してください。