アセット自動化ルールを設定する

このページの内容

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

すべてのオブジェクト、またはスキーマにあるオブジェクトのグループに対する特定のイベント (オブジェクトの更新など) に基づいて、アクション (ユーザーへの通知など) を自動で実行する自動化ルールを作成できます。

はじめる前に

適切な権限があることをご確認ください。

  • 自動化ルールを設定するには、少なくともスキーマに対するアセット マネージャー ロールが必要です。
  • 自動化ルールを実行するには、ユーザー (ログイン ユーザーまたはスケジュールされたイベントの実行用に選択したユーザー) が、少なくともスキーマに対するアセット ユーザー ロールを付与されている必要があります。このユーザーが、ルールの影響を受けるオブジェクト タイプに対して異なるロールを持っている場合は (オブジェクト タイプの権限はスキーマの権限よりも優先されます)、これらのオブジェクト タイプに対するアセット ユーザー ロールも付与する必要があります。これは、ルールがそのようなオブジェクト タイプに影響する場合にのみ必要です。影響しない場合、権限はスキーマから継承されます。

権限の詳細については「ロールと権限の設定」をご参照ください。

ルールを作成する

  1. スキーマを開いて [オブジェクト スキーマ] > [設定] の順に選択します。
  2. [Automation] タブに切り替えます。
  3. ルールを作成します。
  4. ルールの名前と説明を入力します。
  5. それぞれのボックス (WHEN、IF、THEN) を選択します。右側に表示されるパネルで、イベント、条件、アクションを追加できます。詳細については次をお読みください。

ルールへの変更は、[保存] を選択すると保存されます。誤って何かを削除した場合は、[キャンセル] を選択してこれらの変更を元に戻せます。

ルールを設定する

イベント (WHEN)、条件 (IF)、アクション (THEN) を指定して、ルールを設定します。

1. イベントを追加する (WHEN)

  1. [WHEN] ボックスを選択します。
  2. 右側で [イベントを追加] を選択します。
  3. 目的のイベント > [追加] の順に選択します。
tip/resting Created with Sketch.

考慮事項

  • 1 つのルールに最大 5 つのイベントを追加できます。
  • 同じアクション (メール通知など) を持つ複数のルールを作成するのではなく、同じルールにさらに複数のイベントを追加します。そうすると後でメンテナンスが容易になります。

イベント タイプ

eventType説明
ユーザー イベントスケジュール済みのイベントを除くほとんどのイベントは、ログイン ユーザーがオブジェクトに対してアクション (オブジェクトの更新、添付ファイルの追加など) を実行した際にトリガーされます。これらのイベントには追加設定が不要です。
スケジュール済みのイベント

スケジュール済みのイベントは、ユーザーが実行したアクションによってトリガーされることはありません。こうしたイベントは、指定された cron 式 (1 日に 1 回、1 時間に 1 回など) と条件に従って実行されます。 

スケジュール済みのイベントに必要なパラメーター...

スケジュール済みのイベントには、次のパラメーターが必要です。

  1. 条件: AQL (Assets Query Language) 式です。スケジュール済みのルールがアクティブ化されると、条件に一致するすべてのオブジェクトが個々のアクションをトリガーします。
  2. Cron 式: 指定した条件がアセット オブジェクトとのマッチングを試みる日時と頻度を決定します。初期設定では、この式は「0 0 12 1/1 * ? *」、つまり 1 日 1 回、正午に設定されています。cron 式の詳細についてご確認ください。
  3. トリガーされたルールは次として実行されます: スケジュールされたイベントはログインしたユーザーによってトリガーできないため、ここで特定のユーザーを選択する必要があります。 このページの右上でユーザーを選択できます。

2. 条件を追加する (IF)

構成したアクションをスキーマ内のすべてのオブジェクトに適用するのではなく、特定のオブジェクト セットに適用する場合、条件を追加できます。 

  1. [IF] ボックスを選択します。
  2. 右側で [条件を追加] を選択します。
  3. AQL ステートメントを入力して [追加] を選択します。
tip/resting Created with Sketch.

考慮事項

  • 条件 (IF) には常に THEN ボックスが必要です。別の条件を追加すると、そのアクションを編集できるようになります。
  • 最大で 3 つの IF/THEN ペアを設定できます。

  • オブジェクトの更新イベントによってルールがトリガーされる
  • ルールに条件「name = Windows server」がある。
  • ルールにメール通知アクションがある。

この例のルール設定では、正確な名前が「Windows server」であるオブジェクトをユーザーが更新すると、メール通知が自動的に送信されます。 

3. アクションを追加する (THEN)

  1. [THEN] ボックスを選択します。
  2. 右側で [アクションを追加] を選択します。
  3. アクションを選択して詳細を入力します。アクションごとに異なる情報が必要です。たとえば、「Jira 課題を作成」アクションに必要な詳細情報と、「Groovy スクリプトを実行」アクションに必要な詳細情報は異なります。
  4. 追加 を選択します。
tip/resting Created with Sketch.

考慮事項

  • 1 つの THEN ボックスで最大 5 つのアクションを実行できます。

利用可能なアクション

次は、選択できるアクションのリストです。

属性値

このアクションによって、ルールはオブジェクトの属性の値を変更できます。

イベントの影響を受けるアセット オブジェクトの属性値を設定します。値が複数ある場合は、カンマ (,) で区切ります。

フィールド単一値の例複数値の例
属性名ステータスServer
STOPPEDサーバー 1、サーバー 2
オブジェクトをアーカイブする

このアクションによって、ルールでオブジェクトをアーカイブできます。

tip/resting Created with Sketch.

考慮事項

  • アクションを正常に実行するには、対象のオブジェクト タイプの管理者権限を持つユーザーとしてルールを実行する必要があります。

  • 各条件に含められる オブジェクトのアーカイブ アクションは 1 つだけです。

  • アーカイブされたオブジェクトでは属性を更新できないため、[オブジェクトをアーカイブ] アクションの後に [属性値] アクションを追加することはできません。

  • (warning) アーカイブされたオブジェクトは更新できないため、アーカイブされたオブジェクトへの変更をトリガーするアクションは失敗します。 たとえば、 Groovy スクリプト または HTTP リクエスト アクションは、「 オブジェクトをアーカイブ 」アクションの影響を受けるオブジェクトを変更しようとします。

オブジェクトのアーカイブ アクション

Jira 課題を作成

このアクションによって、ルールは Jira 課題を作成できます。

tip/resting Created with Sketch.

考慮事項

  • (warning) 選択した課題タイプは、選択したプロジェクトで利用可能である必要があります。利用できない場合は Jira 課題を作成できません。
  • (info) カスタム フィールドが入力されている場合、選択したプロジェクトはこのオブジェクト タイプを処理するように設定する必要があります。設定しないと、このフィールドは無効になります。


プレースホルダーをサポートするフィールド構文の例結果の例
要約Server ${label} stopped! Server ${exchange.prod.main1}stopped!
説明 Server details - name: ${label}, key: ${Key}, id: ${objectId} Server details - name: exchange.prod.main1,key: WS-5969, id: 17400 
メール通知

このアクションによって、ルールはトリガーされたイベントに関連するメール通知を送信できます。

例: オブジェクト更新イベントの場合は、このオブジェクトに関連する変更を示すメールが送信されます。

[属性別の受信者] オプションでは、ルールの条件で [メール]、[ユーザー]、または [グループ] タイプの属性を持つオブジェクト タイプを選択する必要があります。

プレースホルダーをサポートするフィールド構文の例結果例
サマリ概要Server: ${label} is stopped.Server: exchange.prod.main1 is stopped.
メッセージServer: ${label} (${Key}) has status: ${Status}.Server: exchange.prod.main1 (WS-5969) has status: Stopped.
Groovy スクリプトを実行する

Groovy スクリプトには適切な権限が必要です。スクリプト ディレクトリに保存するか、許可リストのファイルを使用する必要があります。Groovy スクリプトの使用方法

このアクションによって、トリガーされたルールは Groovy スクリプトを実行できます。

ルール エンジンが Groovy スクリプトで利用できるデータ

パラメーター説明と JAVA クラス
オブジェクト

ユーザー アクション (アセット オブジェクトの更新など) に直接関与した、または AQL を介してスケジュール済みのルールと一致した、アクションとして「Groovy スクリプトを実行する」を持つオブジェクト

ユーザー アクションに直接関与した (オブジェクトの更新など)、または AQL を介してスケジュール済みのルールと一致した、「Groovy スクリプトを実行する」を持つオブジェクト。

JAVA クラス:

com.riadalabs.Jira.plugins.assets.services.model.ObjectBean

現在のユーザー

ルールをトリガーしたユーザー、または「ルールを実行」するために選択した特定のユーザー。

JAVA クラス:

com.atlassian.Jira.user.ApplicationUser

log

Apache Log インターフェイスのインスタンス。スクリプトの簡単なロギング用。

JAVA クラス:

org.apache.commons.logging.Log

objectUpdateList

オブジェクトの影響を受ける属性と、そのオブジェクトに対して追加または削除された値を含む、オブジェクト更新イベントで影響を受けるオブジェクト属性のリスト。

JAVA クラス:

List<com.riadalabs.jira.plugins.assets.services.model.ObjectUpdateBean>

HTTP リクエスト

このアクションによって、トリガーされたルールは HTTP リクエストを行えます。標準の HTTP メソッド、GET/POST/PUT/DELETE をサポートしています。

プレースホルダーをサポートするフィールド構文と結果の例
Url

構文:

http://company/service?id=${objectId}&name=${label}

結果

http://company/service?id=1405&name=exchange.prod.main1

データの POST (POST/PUT)

構文:

{ "name":"${label}","key":"${Key}","id":"${objectId}" }

結果

{ name:exchange.prod.main1,key:WS-76100,id:76100 }

4. 条件とアクションをさらに追加する

ルールは 1 つのイベント (WHEN) のみで構成できますが、最大 3 つの条件とアクション (IF/THEN) のペアを含められます。これによって、最初の条件とアクションが一致しない場合に、さらに条件とアクションを追加できます。

  1. ELSE IF/THEN ボックスを選択します。
  2. 必要に応じて、アクションと条件を追加します。
  3. 保存 を選択します。

その他の自動化

自動化ルールは特定のオブジェクト スキームに関連していますが、追加できる自動化は他にもあります。Jira 管理者は、条件、バリデーター、事後操作を Jira ワークフローに追加して、ワークフローのトランジション中に課題がオブジェクトに影響を与えるようにできます。詳細については「Jira のワークフローにアセット関数を追加する」をご参照ください。

最終更新日 2024 年 4 月 29 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.