ビジネスルール

特定の条件が満たされたときに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が「バックグラウンド」でルールを処理する方法に最も近いものです。

  1. 特定のイベントの後に発生するルールをリストします。

    1. エンティティの作成中にフィールド値を変更するルール。

    2. エンティティの変更、削除時にフィールド値を変更するルール。

    3. 電子メールを送信するルール。

    4. ユーザーにアラートルール。エンティティを検証し、問題が発生した場合にユーザーに警告します。

  2. その他のすべてのルールをリストします。これらは、継続的に評価および実行されるルールです。

    ヒント: すべてのシナリオをカバーするために、さまざまなルックアップリストとサブリストを設定する多くのルールがあると思われます。最後にこれらをまとめてグループ化すれば、読みやすくなります。

トップに戻る

共有スペースのルールとワークスペースのルールでは、どちらが優先されますか

共有スペースに対して定義したルールと、その共有スペースに関連付けられたワークスペースに対して定義したルールがある場合、どちらのルールが優先されるかを理解しておくことは重要です。

ワークスペースのルール が先に実行され、その後で共有スペースのルール が実行されます。共有スペースのルールがワークスペースのルールで定義されたアクションと矛盾している場合は、後で実行される共有スペースのルールが優先されます。

トップに戻る

次のステップ