ビジネスルールのデザイン
特定の条件が満たされたときにALM Octaneでアクションをトリガーするルールをユーザーが定義できます。
ビジネスルールとその原則の概要については、ビジネスルールを参照してください。
ルールの作成
ルールを作成するときは、ルールがトリガーするアクションを定義してから、条件を設定する必要があります (オプション)。
ルールを作成するには:
-
設定>スペースで、スペースまたはワークスペースを選択します。
-
[エンティティ] をクリックし、ルールを作成する項目を選択します。
-
[ルール] をクリックします。
-
新しいルールを作成するか、既存のルールを元にルールを作成することができます。
-
[+] をクリックして新しいルールを作成します。
-
ルールを選択して [ルールの複製] をクリックします。
-
アクションの選択
[アクション] をクリックし、実行するルールのアクションを選択します。
選択したアクションの関連する値を指定します。
使用可能なアクションのリストについては、ルールアクションを参照してください。
条件の定義
条件は、フィールド、演算子、および値で構成されます。
ANDまたはOR演算子で区切られた複数の条件を含むルールの複雑な条件を作成できます。
条件タブをクリックして開始します。
フィールドの選択
条件または特殊な状況の基となるフィールドを選択します。
特殊な状況には次のようなものがあります。
編集モード |
エンティティがすでに存在していて現在編集中であるか、または現在のエンティティが新規であるかどうかに条件が基づく場合。 新規かどうかのチェック方法: 編集モード = 新規 既存かどうかのチェック方法: Not(編集モード = 新規) |
現在のユーザーロール | 条件が、ユーザーに特定のロールが割り当てられているかどうかに基づく場合。 |
<エンティティ>数 |
条件が、存在している特定タイプの関連項目の数に基づく場合。 例
|
クロスフィールド条件
特定のフィールドでは、エンティティに関連するフィールドに基づいて、クロスフィールド条件をビジネスルールに適用できます。これらの機能を備えたエンティティは、クロスフィールドアイコンで示されます。クロスフィールドフィルターを設定するのと同じように、クロスフィールド条件を設定します。
次の例では、条件は2020年6月11日より前のリリースに設定されています。
注: クロスフィールド条件は、リリース、所有者、フェーズなどの単一の参照フィールドにのみ適用されます。アプリケーションモジュールやタグなど、複数の参照フィールドには適用されません。
演算子の選択
選択したフィールドまたは特殊な状況に応じて、選択できる演算子が異なります。たとえば、日付フィールドには、テキストフィールドと異なる演算子が表示されます。
一般的な演算子 (=、<、>) に加えて、一部のフィールドでは次のような特殊な演算子がサポートされています。
が次を含む場合: |
フィールドにリストから選択した値が含まれているかどうかをチェックします。 オペレーターはmany:oneの関係をチェックします。 |
が次を含む場合: |
以下のために利用可能: 現在のユーザーロールフィールド。 ユーザーが選択したロールの1つに割り当てられているかどうかを確認します。 演算子は1:1と等しい関係をチェックします。 |
が次のいずれかを含む場合/が次を含む場合: |
以下のために利用可能: 現在のユーザーチーム、システムフィールド、および単一選択のチームUDF。 が次のいずれかを含む場合演算子が含まれ、many:manyの関係をチェックします。 が次を含む場合:演算子が含まれ、1:多くの関係をチェックします。 が次のいずれかを含む場合が含まれるか、が次を含む場合が含まれることを選択した場合、次のオペランドの選択肢は、現在のユーザーチームまたは実際のチーム名、あるいはその両方になります。これらの条件は、特定のチーム内のユーザーに異なるアクセス許可を作成する場合に役立ちます。 |
が空の場合 |
フィールドが空かどうかをチェックします。 |
が変更済みの場合 |
フィールドが元の値から変更されているかどうかをチェックします。この演算子は、新しいエンティティでは利用できません。 |
現在の値および元の値演算子 |
フィールドの元の値 (エンティティに最初にアクセスしたとき) またはフィールドの現在の値 (エンティティに最初にアクセスしたとき以降にフィールド値を変更したため) を評価する条件を設定できます。
|
値の設定
次のボックスに値を入力します。値を入力するか、リストから値を1つまたは複数選択します。値を複数選択する場合、Orステートメントで連結されます。
ユーザーフィールドでは、[現在のユーザー] を値として入力できます。必要に応じて、条件にAND/OR式を追加します。
注: Enterpriseライセンスを使用している場合、共有スペース内のすべてのワークスペースにユーザーフィールドを設定することはできません。各ワークスペースには異なるユーザーがいる可能性があるため、この機能はブロックされます。
必要に応じて、条件にAND/OR式を追加します。
条件の指定では、[説明] ボックスに、条件のテキスト表現が表示されます。
注: ALM Octaneが、ルール定義で、存在しないために処理できないフィールドに直面した場合、条件がFalseと評価される可能性があります。これは、プロジェクトからフィールドが削除されたことが原因である場合もあります。これがエラーではなく、組織のポリシーを実装するために必要なロジックの一部である状況があります。
標準設定では、ルールはアクティブになっています。詳細については、ビジネスルールを参照してください。
ルールを保存すると、ALM Octaneによってルールが自動的に実行されます。
ルールアクション
次の表に、ルールに定義できるアクションを示します。
アクション | 説明 |
---|---|
コメントの追加 |
項目が作成または更新されたときに、項目にコメントを追加します。 送信モードは、コメントを追加するトリガーです。 |
ステークホルダーの [自分の作業] 領域に追加 | ユーザーの [自分の作業] 領域に追加します。ユーザーは、作成者や所有者など、項目で定義されている任意のステークホルダーフィールドにすることができます。 |
ユーザーにアラート |
項目がルール条件に一致する場合、定義したメッセージとともにエラーダイアログが開きます。ユーザーがエンティティを変更し、エンティティがルール条件に一致しなくなるまで、エンティティを保存することはできません。 注: 条件には、望ましくない基準が含まれている必要があります。問題がある場合にのみ、エラーダイアログボックスでユーザーに警告するルールが必要です。この条件は、正当なシナリオではなく、問題のあるシナリオを指定します。 「ユーザーにアラート」ルールを使用して、エンティティの作成、変更、削除ができます。送信モードは、ルールを実行するトリガーです。 ヒント: このルールアクションを使用して、特定のロールを持つユーザーが特定の状況でアクションを実行できないようにすることができます。たとえば、ユーザーストーリーを作成するためのルールアクションがユーザーにアラートであり、ルール条件がユーザーが作業を許可されていないリリースを示している場合、条件がtrueの場合、ユーザーは作業できません。その特定のリリース-一般的には、ユーザーは他のリリースに対してそうする権限を持っています。 例: |
遷移をブロック |
エンティティのワークフローで遷移が一般に許可されている場合でも、ユーザーがあるフェーズから特定のフェーズに遷移できないようにします。 ヒント: フェーズに依存のルールを定義するには、[ワークフロー] タブをクリックし、ルールを作成するフェーズまたは遷移を選択し、[ルール] タブをクリックします。 |
読み取り専用にする |
フィールドを読み取り専用にします。 |
必須に する |
フィールドを必須にします。 例: フィールドを必須にする |
ルックアップリストの変更 |
リストの値を次のように変更します。
使用するリストの名前を入力します。リストの作成の詳細については、リストのセットアップを参照してください。 例: |
電子メールの送信 |
エンティティが作成、変更、削除された場合に、電子メールを送信します。 送信モードは、電子メールを送信するトリガーです。 電子メールの受信者は、ワークスペースで定義された特定のユーザー、または電子メールが送信されるエンティティのユーザーフィールドに名前が表示されるユーザーにすることができます。さらに、エンティティに設定されたチームリーダーやチームメンバーなど、関連するステークホルダーを追加できます。 ヒント: APIアクセスキーを使用した統合で電子メールを送信する場合は、この目的で使用する必要のある電子メールアドレスを定義できます。SMTP_NOTIFICATION_SENDER_EMAIL構成パラメーターの値を電子メールアドレスに設定します。詳細については、SMTP_NOTIFICATION_SENDER_EMAILを参照してください。 メールの本文は、ALM Octaneによって自動的に生成されます。 |
フィールド値の設定 |
ルールは、次のいずれかの方法でフィールドの値を変更できます。
タイミングは、値を設定するトリガーです。タイミングは次のいずれかです。
設定する値には、新しい値、空白、または別のフィールド値のコピーを使用できます。 例: |
Webhookのトリガー |
ALM Octaneは、webhookによる他のアプリケーションとの統合をサポートしています。Trigger Webhookアクションを使用してルールを作成することにより、Webhookを設定します。 以下を設定します。
Webhookのトリガールールの操作に関するエンドツーエンドの手順については、他のアプリケーションのためのWebhookのトリガーを確認してください。 |
フォームの使用 |
エンティティの追加や編集用に、ユーザーが別のフォームレイアウトを選択できるようにします。 フォームレイアウトは、カスタマイズ > [フォーム] で事前定義する必要があります。 例: フォームの切り替え |
ルールのアクティブ化と非アクティブ化
標準設定では、ルールは定義した時点でアクティブになります。ルールを定義した後非アクティブにするには、[ルール] リストでルールを選択し、[OFF] をクリックします。
必須フィールドまたは読み取り専用フィールドをルールの条件に指定する際には、同時にアクティブ化できるルールは1つに限定されます。
たとえば、[優先度] フィールドを必須フィールドにするルールと、[優先度] フィールドをオプションフィールドにするルールがある場合、この2つのルールを同時にアクティブ化することはできません。この2つのルールを作成することは可能ですが、両方ともアクティブ化することはできません。
手動テスト実行のルール
手動テスト実行のルールを設計するときは、次の点を考慮してください。
手動のテスト実行の作成によってトリガーされるルール
手動テスト実行が作成されたときにトリガーされるように定義されているルールは、実行が一括で作成された場合にはトリガーされません。これは、テストのグループまたはテストスイートを実行または計画するときに適用されます。
このような場合にルールが確実にトリガーされるようにするには、エンティティが更新されたときにも実行するルールを定義します。このように、テスターが実行を更新すると、ルールアクションがアクティブになり、関連するアラートと必須フィールドを受け取ります。
Gherkinテスト実行のルール
手動実行エンティティは、手動テスト実行またはGherkinテストの手動実行のいずれかを表すことができます。
両方のタイプが手動実行のルールでカバーされていることを確認するには、両方のタイプを参照する方法で条件を定義します。たとえば、次の場合にアラートを表示します。
Phase[Manual]=not_reviewed OR Phase[Gherkin]=not_ready
次のステップ