通知方法の変更

この記事には、以下のトピックが含まれています。
casm173
この記事には、以下のトピックが含まれています。
CA SDM の自動通知方法は、重要な時点においてサービス デスク管理プロセスの担当者に通知を出します。 標準的な通知方法は以下のとおりです。
  • 電子メール
  • 通知(ログ)
  • ポケットベルの電子メール
変更した通知方法を定義して、新しい送信方法を指定できます。 たとえば、ボイスメール、掲示板、特定のプリンタなどです。 別のアプリケーションからデータにアクセスして、通知メッセージにデータを含めることもできます。
通知プロセス
案件、変更要求、およびリクエストに適用できるチケット通知は、チケットの保存時に以下のように処理されます。
  • 通知方法が電子メールなどの「通知」以外の場合、通知プロセッサは、リストの連絡先ごとに通知方法を実行します。 一般にこの方法では、新しいプロセスで開始される実行可能ファイルやシェル スクリプトを使用します。 通知の詳細は、実行可能ファイル/スクリプトから簡単にアクセスできる環境変数内に保存されます。
  • 通知プロセッサは、[アクティビティ通知の詳細]ウィンドウの[メッセージ テンプレート]ノートブック ページで指定された[通知メッセージ タイトル]と[通知メッセージ本文]の情報を使用して、リクエストされた通知ごとに NX_NTF_MESSAGE 環境変数および NX_NTF_SUMMARY 環境変数を設定します。 受信者が有効な連絡先の場合、その[連絡先の詳細]レコードの情報を使用して、追加の環境変数が作成されます。
  • 通知で[ファイルに書き込む]オプションが選択されている場合は、テキスト ファイルが作成されます。 通知方法は、このテキスト ファイルからより詳細な情報を取得できます。
  • 通知を受信する連絡先のリストは、[アクティビティ通知の詳細]ウィンドウの[オブジェクト]、[連絡先]、[タイプ]、および[調査]の各ノートブック ページで指定された情報から作成されます。 連絡先の通知方法が、通知レベル、およびインストール済みのオプション マネージャの log_all_notify オプションに一致している場合、通知は最初に通知ログに生成されます。
通知方法の変数
作成される変数には以下の2種類があり、これらを通知方法で使用できます。
基本の環境変数
通知の[ファイルに書き込む]オプションを選択したかどうかには関係なく、最初の変数セットは、送信されるすべての通知に対して作成されます。 これらの変数は、通知方法が標準にアクセスできる環境変数として環境内に書き込まれます。
以下の環境変数は、通知に関する基本情報を提供します。 これらの変数は、対応する値が空の場合でも常に定義されます。
環境変数
説明
NX_NTF_MESSAGE
完全なメッセージ テンプレート テキスト(すべての変数が完全に展開されて含まれる)
NX_NTF_SUMMARY
完全なメッセージ テンプレート ヘッダ(すべての変数が完全に展開されて含まれる)
NX_NTF_URGENCY
通知の緊急度(1は低、4は緊急)
以下の環境変数は、受信者が有効な CA SDM である場合にのみ作成されます。 これらの環境変数は、以下の表に示す受信者の連絡先の詳細レコードの値を使用して設定されます。
変数
[連絡先の詳細]ウィンドウのフィールド
NX_NTF_BEEPER_PHONE
ポケットベル番号
NX_NTF_COMBO_NAME
姓、名、Middle Name
NX_NTF_CONTACT
連絡先 ID
NX_NTF_EMAIL_ADDRESS
電子メールまたはポケットベルの電子メールのアドレス(通知タイプによって異なる)
NX_NTF_FAX_PHONE
FAX 番号
NX_NTF_PUBLIC_PHONE
電話番号
NX_NTF_USERID
ユーザ ID
NX_NTF_VOICE_PHONE
その他 電話番号
これらの変数は、対応する値が空の場合は作成されません(ただし、NX_NTF_CONTACT は空にできないため、必ず変数が作成されます)。
属性変数
2 番目の変数セットは、通知方法を定義するときに[ファイルに書き込む]を選択した場合にのみ使用できます。 以下の属性は属性変数と呼ばれ、環境ではなく通知ファイルにのみ書き込まれます。 形式は以下のとおりです。
NX_NTF_attribute[
.
secondary_attribute]=value
  • 属性
    値を取得する属性の名前。 この値は、オブジェクトに定義される属性名です。 任意のオブジェクトのすべての属性名の完全なリストについては、「CA Service Desk Manager 参照コマンド」を参照してください。 通知に関連付けられる最も一般的なオブジェクトは、チケット(オブジェクト名はチケットのタイプによって異なり、リクエストの場合は cr)、および受信者を特定する連絡先(オブジェクト名は cnt)です。 たとえば、チケットの description 属性の環境変数は、通知ファイルでは以下のように示されます。
    • NX_NTF_DESCRIPTION=<サンプルの説明>
  • secondary_attribute
    最初の
    属性
    が別のオブジェクトの内部 ID である場合は、よりわかりやすい情報を示すために、ドット表記を使用してセカンダリ属性が添付されます。 データベース用語では、属性とは単なるデータ値ではなく、別のテーブルの行を指す外部キーです。 この未処理のキー値を使用しても、ほとんど意味がありません。 このようなフィールドの多くは、自動的に解決または逆参照されます。 この場合、secondary_attribute は参照されるテーブルの値になります。 たとえば、担当者の連絡先レコードの固有 ID として保存される assignee 属性の値を書き込む代わりに、以下の例に示すように、担当者の名前の組み合わせが連絡先オブジェクトの combo_name 属性となります。
    NX_NTF_ASSIGNEE.COMBO_NAME=Armstrong, Beth
    属性に値がない場合、対応する値は(NULL)または空白になるのが一般的です。 以下に例を示します。
    NX_NTF_CALL_BACK_DATE=(NULL)
    NX_NTF_GROUP.COMBO_NAME=
チケットと受信者の両方に存在する属性変数は NX_NTF_ID (id 属性)です。これはオブジェクトの固有データベース ID です。
通知ファイル
通知方法を定義するときに[ファイルに書き込む]オプションをオンにすると、基本の環境変数および属性変数が、すべてテキスト ファイルに書き込まれます。 このファイルは、通知方法スクリプトまたはプログラムの実行前に閉じられます。 この通知ファイルは、連絡先に対する通知方法が呼び出されるたびに更新されます。 この方法は、環境のほかの方法では取得できない関連情報を通知スクリプトに渡す、便利な機能です。
通知ファイルの完全パスは NX_NTF_FILENAME 環境変数で設定されており、通知方法のプロセスで使用できます。 ファイル名は、通知方法を定義するときに[通知方法]フィールドに入力した値の終わりにも追加されます。 たとえば、[通知方法]に「pdm_perl –w mymethod.pl」と入力すると、実際のプロセスでは「pdm_perl –w mymethod.pl
unique_notification_file_name
」が実行されます。
管理者は通知ファイルをクリーンアップすることができます。 このクリーンアップは、大量の通知を使用するサイトでは非常に重要です。 ファイルは、標準の一時ディレクトリ(WindowsではTEMP、UNIXではTMP)に置かれます。 通知方法のスクリプトまたはプログラムの終了時に、ファイルを削除するという方法もあります。
通知ファイルは、複数のセクションに分割された標準テキスト ファイルです。 各行には属性/値ペアまたはセクション マーカが記述されています。 各通知ファイルには 3 つのセクションがあります。 セクションは、後ろに改行のある「-----」で始まります。
  • SECTION=obj
    。objはチケットのオブジェクト タイプを示します。
    • Iss
      案件に関する情報を提供します。
    • Chg
      変更要求に関する情報を提供します。
    • Cr
      リクエストに関する情報を提供します。
  • SECTION=cnt
    受信者に関する情報を提供します。
  • SECTION=notification
    基本の環境変数から得られるものと同じ情報を提供します。
実際には、チケットおよび受信者のセクション名は、そのセクションの属性のオブジェクト名です。 任意のオブジェクトのすべての属性名の完全なリストについては、「CA Service Desk Manager 参照コマンド」を参照してください。
各セクションには、属性/値ペアの行が数行含まれ、それぞれが対応するオブジェクトの属性を表します。 これらの行の形式と意味についての詳細は、このセクションの「属性変数」に記載されています。
属性値の改行は、通知ファイルの新しい行として再現されます。 通知方法プロセスでは、NX_NTF およびセクション マーカーで開始する属性または値の行のみを使用することができます。 通知方法プロセスで通知ファイルを使用する前に、サンプル ファイルを生成してその内容を確認します。
Perl スクリプトの使用
ほとんどの通知方法では、実行可能ファイルまたはシェル スクリプトを呼び出して環境変数を読み取り、メッセージを送信します。 このアクションは、ほとんどの UNIX サーバでは問題なく動作しますが、Windows サーバでは環境変数の読み取りで問題が発生します。
Windowsでの環境の問題は、Perlスクリプトを使用して解決できます。 CA SDM には、すぐに使用できる、pdm_perl という Perl インタープリタが含まれています。 pdm_perl を使用して通知方法として呼び出された Perl スクリプトは、環境変数を確実に取得できます。 Perl スクリプトにより、環境変数値を読み取ってフォーマットできます。 また、このスクリプトにより、ポケットベルの呼び出しや電子メールの送信など、ほかの通知を続けて処理できます。
Windows ベースのサーバの場合は、launchit ユーティリティの使用を検討します。 適切な環境変数を使用して、シェル環境のスクリプトやプログラムを呼び出すことができます。
たとえば、複数の環境変数を読み取る read_env.pl という Perl スクリプトを作成するとします。 このスクリプトは、[通知方法の詳細]ウィンドウの[通知方法]フィールドに以下のコマンドを入力して呼び出すことができます。
pdm_perl
script_path
/read_env.pl
この通知方法は Perl インタープリタを起動し、read_env.pl スクリプトの命令を実行します。
通知方法の作成
以下の手順に従います。
  1. メッセージ テンプレートを処理し、受信者に送信するためのスクリプトを作成します。 スクリプトは、プラットフォームに応じた実行可能ファイルとして作成できます。 サードパーティやパブリック ドメインのインタープリタを使用することもできます。 一般には、UNIXではBourneのシェル スクリプトが使用され、Windowsでは.batファイルが使用されます。 特別なテンプレートがスクリプトに必要な場合は、テンプレートを作成します。
  2. Web インターフェースを使用して、サイトに新規の通知方法を追加します。
スクリプトの作成
通知方法スクリプトを作成できます。
以下の手順に従います。
  1. 通知の配布方法(たとえば、特定のプリンタでの印刷など)を決定します。
  2. 通知メッセージの内容を決定します。
  3. 通知に含めるメッセージ テンプレートの情報を指定します。
  4. 通知を送信するスクリプトを設定します。
  5. このスクリプトを実行可能ファイルに含めて、CA SDM サーバのパスに置きます。
通知方法の追加
スクリプトを作成したら、新規の通知方法を CA SDM に定義します。 以下の
いずれかの
方法を使用して、通知方法を追加できます。
  • Web インターフェースを使用
  • UNIX シェル スクリプトを使用
Web インターフェースを使用した通知方法の追加
Web インターフェースを使用して通知方法を追加します
UNIX シェル スクリプトを使用した通知方法の追加
以下の手順では、通知メッセージをサービス デスク プリンタ SDPR2 に送信する通知メソッドのシェル スクリプトを作成します。 この例では、メッセージ テンプレートのメッセージ ヘッダおよびメッセージ テキストから通知メッセージを構成します。
  1. 通知テキストを作成して送信するシェル スクリプトは、以下のようにして設定します。
    #!/bin/sh echo " TO: $NX_NTF_USERID SUBJECT: $NX_NTF_SUMMARY MESSAGE: $NX_NTF_MESSAGE" |lp -dSDPR2
  2. 実行可能ファイルには sd_print という名前を付けます。 このファイルを、サイトの共通スクリプトで使用するディレクトリ(/usr/local/netbin など)に置きます。
  3. chmodを使用して、このシェル スクリプトを実行可能ファイルにします。
  4. [管理インターフェース]の[通知]から[通知方法]を選択します。
  5. [ファイル]メニューから[新規作成]を選択します。
  6. 以下のフィールドにデータを入力します。
    • シンボル
      SDPR2
    • 説明
      バックアップ通知をサービス デスクのプリンタSDPR2に送信します。
    • 通知方法
      /usr/local/netbin/sd_print
  7. [保存]ボタンをクリックして、新規レコードを保存します。 次に[ウィンドウを閉じる]をクリックして、詳細ウィンドウを閉じます。