ルールを実行し続けるために満たす必要がある条件を指定できます。たとえば、優先度が高い課題のみエスカレーションされるように、ルールの条件を指定できます。
条件はルール チェーンのどこにでも配置できます。条件に満たない場合、その後何も操作が実行されません。例外は If/else ブロック条件です。すべてのルールに条件を設定する必要はありません。
課題フィールドの条件
- スマート バリューの使用: なし
- Server Lite で利用: 不能
この条件によって、スマート値や JQL を記述しなくても条件をすばやくまとめられます。用意されたドロップダウンから必要なものをクリックして、空欄に記入するだけです。最も一般的な Jira フィールドがサポートされています。可能であれば、この条件は JQL や詳細な比較条件の前に使用します。
高度な比較条件
- スマート バリューの使用: あり
- Server Lite で利用: 不能
This powerful condition allows you to compare objects using using smart values and regular expressions.
In most cases, you should use the Issue Fields Condition, but the Advanced Compare Condition can give you some extra options (regular expressions, functions etc.).
Let's look a real life use case as per the screenshot below. If you wanted to re-open a Jira issue when a customer comments, you would start with the Issue Commented trigger, add a condition that compares the comment's author with who the reporter is, add lastly add another condition to check if the issue's status is 'Done.' Once these conditions are satisfied, transition the issue to 'In Progress'
比較方法
- 等しい (担当者は Bob である)
- 等しくない (担当者は Bob ではない)
- 次で始まる (報告者の名前が A で始まる)
- 含む (要約に Beer を含む)
- 含まない (要約に Beer を含まない)
正規表現による比較
正規表現によってパターンをテストできます。たとえば、フィールド値に正規表現フィールドの内容が含まれるのか、完全一致するのか、含まれないのかを確認します。
If/else ブロック
- スマート バリューの使用: あり
- Server Lite で利用: 不能
[If else] ブロックによって、特定の条件と一致しているかどうかに基づいて代替アクションを実行できます。これは強力な条件で、必要な数だけ if/else 条件を追加できます。
課題の添付ファイル
- スマート バリューの使用: なし
- Server Lite で利用: 不能
この条件では、コメントまたは説明フィールドに添付ファイルがあるかどうかという簡単な確認を実行します。たとえば、顧客がスクリーンショットを、ベンダーが請求書を含めたかどうか、弁護士が離婚届を添付したかどうかを確認することをお勧めします。
課題が作成されて添付ファイルがない場合は、詳細をリクエストしている顧客に自動コメントを残せます。
さらに詳しく説明すると、この条件を JQL 条件と組み合わせて、ファイル名が指定の形式かどうかを確認できます。また、添付ファイルの一部のプロパティに条件付き比較を含められます (次のリストは抜粋です)。
- filename {{attachment.filetype}}: the filename of the attachment
- mimeType {{attachment.mimeType}}: the file format of the attachment
- author {{attachment.author}}: the user who added the attachment
- accountId {{attachment.author.accountId}}: the ID associated with the user name
- emailAddress {{attachment.author.emailAddress}}: the email address associated with the user name
- displayName {{attachment.author.displayName}}: the name displayed in your Jira instance
- active {{attachment.author.active}}: Is the user an active user or has their account been deactivated
- timeZone {{attachment.author.timeZone}}: what timezone the user is registered being in (this does not change dynamically based upon where the user logs in from, it is the timeZone registered in their user account)
- created {{attachment.created}}: the date and time the attachment was added to the issue
- size {{attachment.size}}: the attachment file size in bytes
JQL
- スマート バリューの使用: あり
- Server Lite で利用: 可能
ヒント
Before you get started with a JQL condition, check to see whether the Issue Condition can do the same job as it will be easier and quicker.
JQL は Jira で課題を検索する際の最も強力で柔軟な手段です。これと同じ機能を Automation for Jira の条件として提供しています。この条件では、課題が指定の JQL クエリと一致するかどうかを確認します。一致する場合は、ルールを引き続き実行できます。条件が満たされない場合は、ルールの実行が停止されます。
JQL をまとめるとエラーが生じる可能性がありますが、機能するかどうかを確認できるように条件内に便利な検証ボタンが用意されています (スマート値をご利用の場合は、JQL が有効かどうかは確認できません)。
以下の例では、指定された課題のステータスにおけるカテゴリが [完了] であるかどうかを確認します。
There is lots of information on how you can use JQL to search for issues from Atlassian.
関連する課題
- スマート バリューの使用: なし
- Server Lite で利用: 不能
この条件は、トリガー課題 (親、サブタスク、エピック、ストーリーなど) にリンクされた課題に適用されて、関連する課題が存在するかどうか、または JQL クエリと一致するかどうかを確認します。
ユーザー
- スマート バリューの使用: あり (条件内で使用)
- Server Lite で利用: 可能
この条件によって、指定したユーザーが存在しているか、または指定したグループにそのユーザーがいるかを確認できます。1 つの条件にユーザーを確認するための基準を複数追加できます。すべての基準に一致させるか、一部のみ一致させるかを選択できます。
So if you want to check if the user who added a comment to an issue was the reporter of the issue OR is a member of the ‘participants’ custom field before re-opening an issue, you can! Check out this article that explains how you can use the user condition for different tiers of support in an organisation and working out if a user commenting is the customer
既定の上限に注意する
By default, Automation for Jira can only check the first 50 users that belong to a role. If the role has more than that, you might get inaccurate results—your user can still belong to this role, but the limit doesn’t allow us to find them. You can increase the default limit by setting the following property:
user.condition.get.users.limit