自動化ルールの最適化に関するベスト プラクティス
次のベスト プラクティス ガイドラインによって自動化ルールを最適化することで、より円滑に実行できて管理しやすくなります。
管理性
ルールを作成する前に計画を立てる
自動化ルールを事前に計画すると、どのようなルールが必要になってどこで条件を使用してルールを組み合わせればよいかを認識しやすくなります。
チームの作業プロセスと発生させたいアクションから始めて、そのアクションをトリガーするイベントにさかのぼります。たとえば、すべての作業項目に関する顧客のフィードバック コメントに対してメールを送信するのか、それとも優先度の高い作業項目に対してのみメールを送信するのか。
ビジネスと業務プロセスに合わせた自動化計画
自動化ルールはビジネスと業務プロセスの効率向上に役立つように設計されています。自動化ルールと、ビジネスと業務プロセスは適合するようにしてください。自動化ルールの確認は、ビジネスと業務の各プロセスの確認と同時に行ってください。
使用制限内にとどめる
ルールに条件を追加する
条件を使用して、アクションが希望どおりのタイミングで行われるようにします。アクションが成功したルールのみが使用量にカウントされるので、これは月次の上限を最大限に活用するのに役立ちます。たとえば、Jira 自動化では、作業項目ステータスのフィルターを追加して、特定のステータス (To Do、In Progress など) でのみ実行することを検討してください。
ルールのスコープを確認する
ルールは、実行させたい Jira または Confluence スペースでのみ実行するようにします。つまり、グローバル スコープのルールがあるが、すべての Jira または Confluence スペースで実行する必要がない場合は、そのスコープをマルチスペースに変更します。
これにより、無駄なルール実行を最小限に抑え、毎月の使用量上限を最大限に活用できます。
ルールを無効にする
ルールを監視し、実行量が多すぎるルールや不要なルールを特定し、それらを無効にして、無駄なルール実行を防ぎます。
パフォーマンス
ルールのスコープを制限する
グローバル スコープはできるだけ使用しないでください。ルールを複数のスペースに適用する必要があるかどうか、または単一のスペースのスコープだけで十分かどうかを検討します。この変更により、一致しないルールがあるプロジェクトがフィルターによってイベントから排除されるため、ルールの効率が向上します。その結果、実行キューに並ぶルールの数が減少します。
ルールの結合
ルールは単独でも十分機能しますが、組み合わせて使うこともできます。複数の現在のルールに対して同じルールを使えるのでしょうか。たとえば、現在のルールで分岐するルールがあり、その下で条件とアクションを実行するとします。
適切なトリガーを選択する
一部のトリガーは他のトリガーよりも具体的です。特定のトリガーが必要な場合は、一般的なトリガーは使用しないでください。たとえば、Jira 自動化では、「フィールド値の変更時」は「作業項目の更新時」よりもはるかに無駄がありません。これは、作業項目の更新にはさまざまな内容が含まれる可能性があるのに対し、フィールド値の変更はより具体的な更新であるためです。
ルール チェーンで可能な限り早く比較条件を使う
ルールの早い段階で値を比較する条件を使用して、考えられる作業項目やページを早期に排除したいとします。比較条件の例には、ユーザー条件、高度な比較条件、または作業項目フィールド条件 (Jira のみ) などがあります。
たとえば、ルールの早い段階で条件によって work item type = Bug バグかどうかを確認した場合はルールからバグ以外のすべてを早期に排除できるため、ルールがはるかに効率的になります。
ルールの始めにこれらの条件をチェーン化して、対応が不要なすべての作業項目をできる限り早く除外することが理想です。
処理量の多いチェックをルール チェーンの下位に移動する
作業項目フィールド条件 (Jira のみ) やユーザー条件など、単一フィールドをチェックする条件は最も簡単に実行できるため、ルール チェーンの早い段階で実行すると良いでしょう。
詳細比較条件と JQL や CQL などのクエリ言語を含む条件には、より多くの処理が必要です。できるだけ使用を避けるか、チェーンの後半で使用するようにしてください。
たとえば、type = Done (JQL 条件) を確認するには、{{issue.status.name}} = Done (詳細比較条件) の場合よりも多くの処理が必要となります。
ブランチの使用は控えめにする
ブランチは、絶対に必要な際にのみルールに追加してください。これは、ブランチによってルールに新しいプロセスが生成されるためです。ルールを組み合わせる場合は便利ですが、目的を果たさない場合はパフォーマンスに悪影響を及ぼしかねません。
この内容はお役に立ちましたか?