ビジネスルール
特定の条件が満たされたときにALM Octaneでアクションをトリガーするルールをユーザーが定義できます。
このトピックでは、ビジネスルールの概要、計画に関する考慮事項、およびルール階層の説明を提供します。ルールの作成方法の詳細については、ビジネスルールのデザインを参照してください。
導入
ルールでは、アクションと通常1つ以上の条件を指定します。
アクションとは、条件が満たされたときに実行する処理です。
アクション | アクションには、フィールドを必須にする、フィールドを読み取り専用にする、フィールドの標準設定値を設定するなどがあります。 |
条件 |
条件が満たされたときに、ルールのアクションが実行されます。たとえば、[ステータス] フィールドが [修正済み] に変更された場合に、ルールで [修正ビルド] フィールドを必須にすることができます。このときの条件は、ステータス=修正済みです。 条件を指定しない場合、ルールのアクションは必ず実行されます。たとえば、フィールドを常に必須にすることができます。 |
ルールはエンティティタイプごとに作成されます。
ALM Octaneでは、エンティティタイプごとに、定義済みのルールが利用できます。これらは、所有者へのテストの割り当てなど、基本的な動作を制御します。
スペース間でのルールの共有
ルールは、共有スペースレベルまたはワークスペースレベルで定義できます。
個別スペースでは、スペースレベルでルールを定義することはできず、個々のワークスペースでのみ定義できます。
共有スペースで作成されたルールは、関連するワークスペースで実行されます。ワークスペースで作成されたルールは、その個々のワークスペースにのみ適用されます。
個々のワークスペースのルールを定義できます。ルールは、個別のワークスペースでのみ適用できます。
どのルールが最初に実行されますか?
個別のワークスペースのルールが最初に実行され、その後、共有スペースのルールが実行されます。詳細については、共有スペースのルールとワークスペースのルールでは、どちらが優先されますかを参照してください。
計画
必要なルールとその順序を計画します。
-
アクションがすべて同じ条件を共有している場合は、複数のアクションを1つのルールに組み合わせることができます。これにより、パフォーマンスを向上させることができます。
例: 1つのルールを使用して、複数のフィールドを読み取り専用に設定できます。同様に、別のルールを使用して、いくつかのフィールドを必須にすることができます。
-
多分いくつかのルールが必要です。たとえば、フィールド値に基づいて異なるルックアップリストを設定するには、ルックアップリストごとにルールが必要です。
-
ルールがルールリストに表示される順序は重要です。後のルールは、前のルールのアクションをオーバーライドします。
-
Enterpriseエディション: ルールをスペースレベル (共有) で定義するか、ワークスペースレベルで定義するかを決定します。
-
定義するルールによっては、事前に準備作業が必要になる場合があります。たとえば、Webhookのトリガーアクションを使用するルールを作成する場合は、ルールの作成前に資格情報を定義する必要があります。
条件が評価され、アクションが実行されるのはいつですか
ほとんどのルールは継続的に評価され、アクションは必要に応じて実行されます。その他のルールは、特定のイベントの発生後に評価されます。
ALM Octaneでは、次の2つのうちのいずれかの方法で、ルールの条件を評価し、ルールのアクションを実行します。
-
ユーザーが継続的に作業している場合: ALM Octaneは、アクティブ状態のルールの条件が満たされているかどうかをチェックします。条件が満たされている場合、ルールのアクションが実行されます。ほとんどのルールはこのカテゴリに分類されます (たとえば、読み取り専用ルールの作成、フォームルールの使用)。
-
特定のイベントが発生する場合: これらのルールのアクションが実行されるには、アクティブ状態のルールの条件を評価して、条件が満たされているかどうかを確認するだけでなく、特定のイベントが発生する必要もあります。これらのイベントには、新規エンティティの作成、既存のエンティティの削除、既存のエンティティの変更が含まれます。
注: このタイプのルールを定義する場合、条件を指定する必要はありません。イベントが発生したときに、他のいかなる制約もなしにルールのアクションが実行されます。
例:
-
フィールド値ルールを設定します。これらのルールは、エンティティの作成または変更時にフィールドの値を変更します。該当する操作が開始されるとすぐに、これらのルールのアクションが実行されます。
-
メールルールの送信。これらのルールは、エンティティが作成、変更、削除された場合に電子メールを送信します。これらのルールのアクションは、ユーザーが [追加] または [保存] をクリックしたときに実行されます。
-
ユーザーにアラートルール。これらのルールは、エンティティが作成、変更、削除された場合、およびユーザーが [追加] または [保存] をクリックしたときに、エンティティを検証します。これらのルールのアクションは、ユーザーが [追加] または [保存] をクリックしたときに実行されます。
条件がfalseの場合、エンティティ/コンテキストは有効と見なされます。アラートは送信されません。
条件がtrueの場合、ユーザーに警告が表示され、更新が阻止されます。
注: ツリー内のエンティティの移動は、エンティティの変更とは見なされません。
-
順序はルールの実行方法に影響しますか
エンティティが複数のルールの条件を満たす場合、グリッド内でのルールのリスト順に、そのエンティティ上でルールの各アクションが実行されます。
1番目のルールは、不具合が新規 (編集モード=新規) であるかどうかをチェックし、新規であれば入力フォームを [TheAddForm] に設定します。このフォームを使用すると、ユーザーは通常後でしか分からない詳細情報に惑わされず、不具合の基本情報を入力できます。
リストの次のルールは、不具合がすでに存在していて、編集中 (Not (編集モード=新規)) かどうかをチェックします。この場合、ルールは入力フォームを [TheEditForm] に設定します。
3番目のルールは、不具合の [優先度] が1-Criticalであるかどうかをチェックし、そうである場合、フォームを [TheCriticalForm] に設定します。このフォームでは、その不具合が致命的である理由を説明する追加フィールドを指定する必要があります。このルールは、2番目のルールと矛盾します。最後に実行されるルールであるため、不具合が新規でなくても、その結果が保持されるためです。
ルールをグリッド内で論理的に整理し、ルールのリストを確認できますか。ALM Octaneがルールを処理する方法に従って、ルールのリストを整理すると便利です。ルールのアクションの実行条件に影響を与えず、全体像を把握するときに役に立ちます。
次に示す順序も、ALM Octaneが「バックグラウンド」でルールを処理する方法に最も近いものです。
-
特定のイベントの後に発生するルールをリストします。
-
エンティティの作成中にフィールド値を変更するルール。
-
エンティティの変更、削除時にフィールド値を変更するルール。
-
電子メールを送信するルール。
-
ユーザーにアラートルール。エンティティを検証し、問題が発生した場合にユーザーに警告します。
-
-
その他のすべてのルールをリストします。これらは、継続的に評価および実行されるルールです。
ヒント: すべてのシナリオをカバーするために、さまざまなルックアップリストとサブリストを設定する多くのルールがあると思われます。最後にこれらをまとめてグループ化すれば、読みやすくなります。
共有スペースのルールとワークスペースのルールでは、どちらが優先されますか
共有スペースに対して定義したルールと、その共有スペースに関連付けられたワークスペースに対して定義したルールがある場合、どちらのルールが優先されるかを理解しておくことは重要です。
ワークスペースのルール が先に実行され、その後で共有スペースのルール が実行されます。共有スペースのルールがワークスペースのルールで定義されたアクションと矛盾している場合は、後で実行される共有スペースのルールが優先されます。
次のステップ