前のトピック: アクションの削除次のトピック: スケジューラ


イベントをポストする方法

ユーザによるアクションを模倣する自動的な方法としてイベントをポストすることができます(例: リクエストをサブミットするカタログ ユーザ、リクエストを承認するリクエスト マネージャ、ユーザまたはビジネス ユニットの詳細を更新するカタログ管理者など)。 どちらの場合も(イベントのポスト、ユーザ アクション)、イベントの発生時にそのルールが評価されます。 ルールの条件が満たされる場合、ルール アクションが実行されます。

イベントのポストは、自動化および特定の値やアクションを使用するこのようなタスクの実行に役立ちます。 たとえば、CA Service Catalog と別の CA 製品間の統合のためにカスタム値を指定するイベントをポストすることができます。 このトピックでは、HTTP URL によって CA Service Catalog イベントをポストする方法について説明します。 また、タイプが[HTTP ポスト]のルール アクションでこの URL を使用することができます。

重要: イベントをポストする場合は、実稼働環境に移動する前に十分にテストを行います。 アクションがトリガされる場合、イベントが周期的に実行されないことを確認します。

イベントをポストするには、このプロセスに従います。

  1. HTTP URL を構築するためにイベントからデータを収集します。
  2. HTTP URL を指定します。 このトピックでは、URL の例を使用してイベントをポストする方法について説明します。

    注: ウェブ サービスを使用してイベントをポストすることもできます。 どちらの方法でも同じ結果になります。

  3. イベントがポストされることを確認します。

HTTP URL を構築するためにイベントからデータを収集します。

イベント定義から URL 用の以下の情報を収集します。

この例では、[ツール]-[イベント - ルール - アクション]ページでデータ メディエーション集計イベントを使用します。 イベント名をクリックして以下の詳細を含むイベントの詳細を表示します。 以下のテキストで示されるように、これらの詳細を HTTP URL の指定に役立てます。

HTTP URL の指定

システムにイベントをポストする HTTP URL を指定するには、以下の構文を使用します。

注: 以下の行とその後の例の改行は、読みやすさのみを目的としています。 製品 UI では、単一の継続行としてこのコードを入力します。

http://hostname:port/usm/wpf?Node=icguinode.postevent
&username=userid&pass=password&domain=businessunit
&Args=eventsource&Args=nsppath&Args=transactionname&Args=eventtypename
&Args=transactiontype&Args=eventdescription&Args=associatedobjectid
&Args=false&Args=param1|oldvalue1!param#|oldvalue#!
&Args=param1|newvalue1!param#|newvalue#!

以下はサンプル URL です。

http://hostname:port/usm/wpf?Node=icguinode.postevent
&username=spadmin&pass=spadmin&domain=ca.com&Args=LOGICAL
&Args=DATA_MEDIATION_AGGREGATION:MODIFIED
&Args=DATA_MEDIATION_AGGREGATION&Args=MODIFIED&
Args=LOGICAL&Args=Modified&Args=$id$&Args=false
&Args=end_date|abc!start_date|abc!status|123!status_date|abc!
&Args=end_date|abd!start_date|abd!status|124!status_date|abd!

注: Java または一部の他のツールから URL を通じてイベントをポストする場合、サポートされない文字をコードで置き換えて URL をエンコードする必要がある可能性があります。 たとえば、アンパサンド(&)は %26、半角スペースは %20 で置き換えることが必要な場合があります。

注: イベント ルール用のルール フィルタの評価時に、カタログ システムでは古い値と新しい値の両方が使用されます。

以下のパラメータがあります。

userid

認証に使用する有効なユーザ ID を指定します。

password

ユーザ ID のパスワードを指定します。

businessunit

ユーザ ID のロールに使用するビジネス ユニットを指定します。

eventsource

イベント詳細から[イベント ソース]を指定します: LOGICAL、PHYSICAL、CommonDB。

この例では、値は LOGICAL です。

nsppath

ネームスペース パス(プレースホルダ値のみ)を指定します。 カタログ システムでは実際の値は使用されませんが、プレースホルダ値が必要です。

以下のフォーマットを使用します。

<トランザクション名> - <トランザクション タイプ>

<トランザクション タイプ> - MODIFIED、ADDED あるいは DELETED。

<トランザクション名> - イベント詳細の表示同様

この例では、値は DATA_MEDIATION_AGGREGATION:MODIFIED です。

transactionname

イベントのトランザクション名を指定します。

イベント詳細で示されるように、この例では、値は DATA_MEDIATION_AGGREGATION です。

eventtypename

イベント タイプの名前を指定します: MODIFIED、ADDED あるいは DELETED

この例では、値は MODIFIED です。

transactiontype

イベントのトランザクション タイプを指定します。

この値は eventsource パラメータの値と同じです。

この例では、値は LOGICAL です。

eventdescription

(ウェブ サービスのオプション)イベントの説明を指定します。

イベント詳細に表示されるトランザクション タイプを指定します。

この例では、値は Modified です。

associatedobjectid

このイベントと関連付けるオブジェクトの ID を指定します。

オプションでこの値のイベント パラメータの 1 つを指定できます。 この値は[変更イベント]に記録されたアラートを関連付けるために使用されます。

この例ではダミー値 $id$ を使用します。

ispartial

このイベントが部分的(値は常に false)かどうかを指定します。

param#|oldvalue#

パラメータ名および古い値を指定します。 名前と値は縦棒で区切ります。 名前と値の各ペアは、感嘆符で区切ります。

この例では、値は以下のとおりです。

end_date|abc!start_date|abc!status|123!status_date|abc!

: この例ではイベント属性にダミー値が使用されています。 $all$ 属性ではすべての値が読み取られるため、$all$ 属性には値を指定しないでください。

param#|newvalue#

パラメータ名および新しい値を指定します。 名前と値は縦棒で区切ります。 名前と値の各ペアは、感嘆符で区切ります。

この例では、値は以下のとおりです。

end_date|abd!start_date|abd!status|124!status_date|abd!

この前のパラメータの注はこのパラメータにも適用されます。

イベントのポストを確認する

イベントがポストされることを確認するには、次の手順に従ってください:

  1. ポストしているイベントのすべてのルールを無効化します。
  2. 以下のように、フィルタなしの 1 つのコマンド ライン アクションで 1 ルールのみを有効化します。
    cmd /c echo Posted Event: $all$ >> C:¥PostEventCheck.txt
    
  3. CA Service Catalog のアプリケーション サーバの C:¥ ドライブに PostEventCheck.txt ファイルが作成されることを確認します。

注: postEvent 管理 Web サービス メソッドの 1 つを使用してイベントをポストすることもできます。

関連項目:

Webサービスの使用