チケットシステムとPMPの連携
(この機能は、Enterprise Editionでのみサポートされています。)

PMPは特権アクセスに関連したサービス要求を自動的に検証するために、チケットシステムと連携する機能を提供しています。連携により、ユーザーが有効な一意のチケットIDでのみ、特権IDのパスワードにアクセスできるようになります。この連携は、PMPワークフロー機能の拡張機能となり、チケットシステムにおける申請や承認などのサービスリクエストを自動的に検証し、それらアクセス許可が容易に実行できるようになります。

このドキュメントでは、PMPとチケットシステムの連携に関して、以下の内容を説明します。

  1. 連携の動作
  2. 連携可能なチケットシステム
  3. PMPとチケットシステムの連携方法
  4. チケットシステム検証の強制と例外
  5. チケットシステム連携を無効にする
  6. 他のチケットシステムとの連携
  7. ServiceNowカスタマイズ実装のスニペットコード
  8. インタフェースの説明

1.連携の動作

PMPとエンタープライズ チケットシステムが連携すると、ユーザーはパスワード取得、もしくはパスワードリセットのためにチケットIDを入力する必要があります。PMPでは、次の事項を確認してアクセスを許可します。

  • ユーザーが入力したチケットIDがチケットシステムに存在するかどうか。
  • チケットに関連するインシデントが[完了]ステータスでないこと。
  • ユーザーがそのパスワードを確認する権限があるかどうか、そして、ITリソースにアクセスできるかどうか。
  • パスワードリセットが試行された場合、権限があるかどうか。

上記をデフォルトで確認することに加えて、PMPではカスタマイズの条件を定義することができ、パスワードのアクセス許可を与える前に定義した条件の検証をチケットシステムで行うことができます。全体のプロセスはすべて監査されます。言い換えると、特権アクションはチケットIDで追跡でき、パスワードアクセスは、チケットシステム上のチケット番号で追跡できます。更に、チケットIDを通じて特権アクセスシナリオ上でカスタマイズのレポートを作成することができます。

2. 連携可能なチケットシステム

PMPとチケットシステムの連携は簡単です。PMPは以下のシステムとすぐに連携することができます。

上記以外にも、PMPとエンタープライズチケットシステムを連携することができます。

3. PMPとチケットシステムの連携方法

サポートされているチケトシステムとの連携は非常に簡単です。チケトシステムとの接続に必要な情報を提供するだけで連携することができます。

注: お使いのチケットシステムが ServiceDesk Plus または ServiceDesk Plus MSPで、HTTPsモードで実行されている場合、システムをSSL証明書で検証する必要があり、その証明書をPMPの証明書ストアにインポートする必要があります。手順は以下の通りです。

  1. サービスを停止します。
  2. "<PMP_Installation_Folder>/bin"に移動します。
  3. 以下を実行します。
    Windows:
    importCert.bat <ServiceDesk Plus もしくは ServiceDesk Plus MSPが使用している証明書のパス>
    Linux:
    importCert.sh <ServiceDesk Plus もしくは ServiceDesk Plus MSPが使用している証明書のパス>
  4. サービスを再起動します。
    1. 管理 >> 連携 >> チケットシステム連携 に移動します。
    2. 表示されたページで、サポートされているチケットシステムのリストから、統合したいチケットシステムを選択します。お使いのチケットシステムがリストにない場合は、「Others」を選択してください。
      ticketing-system-integration2

3.1 様々なシステムとの接続設定

基本的に連携は、それぞれのチケットシステムが提供するREST APIを使用して実行されます。そのため、認証トークンとチケットシステムのURLを指定/生成するだけで連携できます。

認証トークンの生成:

以下の手順で認証トークンを生成、取得できます。

  1. ManageEngine ServiceDesk Plus:
    1. ManageEngine ServiceDesk Plusにログインします。
    2. ページ右上にあるユーザー名の下のAPI Key Generationをクリックします。
  2. ManageEngine ServiceDesk Plus MSP:
    1. ManageEngine ServiceDesk Plus MSPにログインします。
    2. ページ右上にあるユーザー名の下のAPI Key Generationをクリックします。
  3. ManageEngine ServiceDesk Plus Cloud:
    1. ZohoのDeveloper Consoleにアクセスします。
    2. Client TypeServer-based Application.を選択します。
    3. 以下の情報を入力します。
      1. Client Name:
        登録するアプリケーションの名前 (PMP/Password Manager Proがお勧めです) 。
      2. Home page URL:
        PMPのURL
        例: https://<server>:port/ (or) https://<domain_name>.com
      3. Authorized Redirect URIs:
        <homepageurl>/PassTrixMain.cc#/SDPODAuthentication/code/
    4. Createをクリックすると以下の認証情報が生成されます。
      1. Client ID:接続されたアプリから生成されたクライアントID
      2. Client Secret:接続されたアプリから生成されたクライアントシークレット
  4. ServiceNowおよびJIRA Service Desk:
    1. Password Manager Proにログインします。
    2. 管理>> 連携 >> チケットシステム連携に移動します。
    3. ServiceNow / JIRA Service Deskをクリックします。
    4. "認証トークン"フィールドの横の[生成]をクリックします

3.1.1 ServiceDesk Plus Cloud

Password Manager ProはManageEngine ServiceDesk Plus Cloudと連携して、有効なチケットIDを使用して特権アクセスへのアクセス要求を自動的に検証します。これは、AUTHトークンを生成し、チケット発行システムに有効なチケットIDを入力することによって行うことが出来ます。また、チケットIDに関連付けられている変更IDステータスの値をチェックするには、そのオプションを選択してchangeIDステータスを入力します。

Password Manager ProでServiceDesk Plus Cloudを設定する

  1. 管理 >> 連携 >> チケットシステム連携 に移動します。
  2. ManageEngine ServiceDesk Plus Cloudの下の有効化をクリックします。
    ticketing-system-integration3
  3. 前の手順で生成したクライアントID、 クライアントシークレットを入力します。
  4. チケットシステムURLリダイレクトURL を入力します。

    注:前の手順Home page URLRedirect URLとして入力します。

  5. 有効化をクリックします。
    ticketing-system-integration3a

ServiceDesk Plus Cloudの設定が保存されます。

ServiceDesk Plus Cloudの認証

  1. ServiceDesk Plus Cloudを認証するために、Password Manager Proの右上にある更新アイコンをクリックし、ManageEngine ServiceDesk Plus Cloudの左上の赤いアイコンを表示させます。
  2. 連携を認証し有効化するために赤いアイコンをクリックします。
    ticketing-system-integration3b
  3. 表示される画面で条件を読み、AcceptをクリックしてPassword Manager Proによるデータへのアクセスを許可します。
  4. 注:チケットシステムで技術者の役割を持つユーザーのみが、チケットの表示と検証のために上記の要求を「受け入れる」必要があります。

ticketing-system-integration3c
  1. ServiceDesk Plus Cloudが、Password Manager Proのチケットシステムとして設定されます。
  2. OKをクリックして画面を閉じ、Password Manager Proの右上にある更新アイコンをクリックすると、変更内容が表示されます。

3.1.2 ServiceDesk Plus MSP

Password Manager Proは、ManageEngine ServiceDesk MSPと連携して、有効なチケットIDを使用してのみ権限アクセスへのアクセス要求を自動的に検証します。これは、技術者キーを生成し、チケット発行システムに有効なチケットIDを入力することによって行うことができます。

3.1.3 ServiceDesk Plus

  • Password Manager Proは、チケット取得システムでユーザーが入力したチケットIDに加えて変更要求を検証することにより、ManageEngine ServiceDesk Plusと連携可能です。また、ManageEngine Service Desk Plusで提供された変更IDが承認された場合にのみ検証が行われます。
  • このオプションを有効にすると、ユーザーはパスワードアクセス要求やその他の同様の操作の検証に有効な変更IDを提供する必要があります。一方、このオプションをオフのままにすると、ユーザーは検証のために有効なリクエストIDを提出する必要があります。

3.1.4 ServiceNow

Password Manager ProはServiceNowと連携可能です。連携は、Ticketing system URLをそれぞれの'<instance>. <ticketingsystem>.comフィールドに入力し、番号を入力するだけで、以下のデータを取得できます。

  • ServiceNow Incident - INC(7 digit number) eg) INC0010007
  • ServiceNow Change - CHG(7 digit number) eg) CNG0000003
  • ServiceNow Change Task - CTASK(7 digit number) eg)CTASK0000009
  • ServiceNow Request -  REQ(7 digit number) eg) REQ0010004
  • ServiceNow Request Item - RITM (7 digit number) eg) RITM0010007
  • ServiceNow Problem - PRB(7 digit number) eg) PRB0000007
  • ServiceNow Project - PRJ (7 digit number) eg) PRJ0000009
  • ServiceNow Project Task - PRJTASK(7DIGIT NUMBER) ef)PRJTASK0010001
  • ServiceNow Task - TASK(7 digit number) eg)TASK0010001

このオプションを有効にすると、ユーザーはパスワードアクセス要求の検証のために上記の有効な番号のいずれかをPassword Manager Proに入力する必要があります。

3.1.5 JIRA Service Desk

Password Manager Proは、JIRA Service Deskとの連携が可能となり、特権アクセスに関連するサービス要求を自動的に検証します。 

3.1.6 その他

他のチケットシステムを使用している場合は、独自のカスタム実装を使用してPMPと統合することができます。

  • デフォルトでは、PMPは、ユーザが入力したチケットIDがチケットシステムに存在するかどうかを検証し、チケットが「Close」状態でないかどうかを検証します。要件が満たされていれば、システム連携が実施されます。

3.2 詳細設定(オプション)

(チケット番号、チケットステータスに加え)他の条件も検証したい場合は、詳細設定を行います。例えば、パスワードアクセスのリクエストを申請しているPassword Manager Proのユーザーが、チケットシステムの「申請者」カラムと一致しているかどうか確認するよう選択できます。同様に、チケットに関連した特定条件 - 例えばチケットの「優先度」が「高い」を確認できます。Password Manager Proは、追加項目を含むチケットシステムのパラメータを確認できます。

詳細設定を実行するには

  1. 右上の3つのドットをクリックし、詳細設定を選択します。
  2. GUI画面が開くので、詳細設定を実行します。詳細設定は、簡単に利用できる設定項目、もしくはカスタムクラスの実装で実行できます。

詳細設定でのオプション:

  1. PMPの特定カラムがチケットシステムで指定したカラムと一致するか検証する
    1. Password Manager Proの特定カラムがチケットシステムで特定したものと一致するかどうかを検証するには、[Password Manager Proのマップエントリ対チケットシステム]オプションを選択してください。
    2. カラムでは、PMPで利用できるカラム名をドロップダウンのリストで表示します:リソース名、リソース種別、アカウント名、PMPユーザー名、DNS名等です。PMPでカスタマイズ作成した項目も含まれています。
    3. 条件のカラムより、確認したい事項を指定します。
    4. チケットシステムカラムでは、チケットシステムで利用できる項目(カスタマイズした項目も含む)をリスト表示しています。PMPでの該当項目とマップしたい項目を選択します。例えば、PMPでリソース名とチケットシステムでのASSETをマップする選択ができます。そのようなマップを指定すると、パスワードへのアクセス許可を与える前に、PMPでは、指定した[リソース名]がチケットシステムでの[ASSET名]と一致するか確認が行われます。検証が成功するときのみ、アクセス許可が与えられます。
  2. チケットシステムでの特定のカラムがPMPで指定したカラムと一致するか検証する
    1. チケットシステムの特定カラムがPassword Manager Proで特定したものと一致するかどうかを検証するには、[チケットシステム対Password Manager Proのマップエントリ]オプションを選択してください。
    2. チケットシステム欄には、チケットシステムで利用可能なフィールド(カスタムフィールドを含む)が表示されています。PMPの対応するフィールドとマッピングする必要のあるフィールドを選択してください。
    3. 条件のカラムより、確認したい事項を指定します。
    4. カラム名のドロップダウンには、PMPで利用可能なカラム名が表示されます。
      例: リソース名、リソースタイプ、アカウント名、PMPユーザー名、DNS名など。(カスタムフィールドを含みます)。
  3. チケットシステムでチケットに関連する特定の条件を検証する。
    1. チケットに関連する特定の条件が満たされているかどうかを検証するには、チケットシステムで確認される条件オプションを選択する必要があります。デフォルトでは、PMPはチケットのステータスがCLOSED状態でないかどうかをチェックします。
    2. 任意の数の追加条件を選択することができ、Password Manager Proはチケットシステムでそれらのすべてを検証します。デフォルトでは、Password Manager Proは、カスタムフィールドを含む、チケットシステムで利用可能なすべてのフィールドを表示します。Password Manager Proが検証する値を指定できます。
  4. チケットIDと関連付けられた変更ID状態の値を確認してくださいを選択し、IDステータスの変更を入力します。
  5. 保存をクリックし、チケットシステム設定の変更を保存します。

3.3チケットシステム設定のセットアップをテストする

連携が完了した後、PMPがチケットシステムと適切に接続を確立できるか確認するテストを実行することができます。テストを実行するには、詳細設定でテスト設定リンクをクリックしてください。

このテストの一部として、PMPの詳細設定で利用できるカスタム項目を取得することもできます。

3.4 カスタマイズ実装

ヘルプ詳細設定が要件を満たさない場合、独自のカスタム実装を作成し、実装クラスを持つjarファイルを更新することで、Password Manager Proに関連付けることができます。詳細については、次で説明する 他のチケットシステムとの連携 セクションを参照してください。太文字記述の手順が、ここで適用されます。

4. チケットシステム検証の強制と例外

  1. チケットシステム連携を完了すると、直ぐにグローバルに適用されます。ユーザーは、パスワードにアクセスする有効なチケットIDを生成する必要があります。意図的に、スーパー管理者はチケットID強制から免除されます。更に、アクセス制御ワークフローの一部として、ユーザーは、チケットIDの生成が強制され、ID検証の後に自動的にアクセスできるようになります。
  2. また、選択したリソースグループの発券処理を選択的に有効/無効にするオプションもあります
    1. グループに移動します。
    2. リソースグループを選択します。
    3. グループリストの一番上にある一括設定ボタンをクリックし、ドロップダウンからチケット連携を設定を選択します。
  3. 「一般設定」からも、「パスワード取得」の「チケットIDなしでユーザーがパスワードを取得」オプションを使用して、チケットの有効性を確認するためのユーザーを選択的に許可または制限できます。
  4. また、「パスワード変更」の「チケットIDなしでユーザーがパスワードを変更」オプションもあります。
  5. 加えてユーザーグループ固有の設定を行うこともできます。

5. チケットシステム連携を無効にする

必要に応じ、いつでもチケットシステムとの連携を無効化することができます。

  1. 連携を無効化するには、[無効化]をクリックします。

    注: 連携を[無効]にしても、連携情報はPassword Manager Proから削除されません。いつでも連携を有効にすることができます。

  2. 完全に全ての連携情報を削除するには[削除]をクリックします。
  3. 注: ServiceDesk Plus Cloud連携を再び有効化するには、こちらの手順の通り、新たな[クライアントID]、[クライアントシークレット]を生成とServiceDesk Plus Cloudの設定を再度行う必要があります。

ticketing-system-integration13

6. 他のチケットシステムとの連携

他のチケットシステムを使用している場合、独自のカスタマイズ実装を所有しながら、PMPと連携することができます。 Zendesk連携 を例とし、次の手順にて説明します。

ステップ1:ユーザの実装クラスを作成する

Zendesk連携用に作成したサンプル実装クラスを参照してください。実装クラスの重要な概念は、次に説明します。

Generate Authentication Token

まず初めに、PMP接続確立を有効化するためにチケットシステムの認証トークンを生成します。認証トークンを生成する時、チケットシステムにフルアクセスを持つ管理者資格を提供していることを確認してください。実装クラスで直接資格情報を提供する、もしくはトークンを生成し設定することにより確認できます。

次のスニペットは、チケットシステムの特権アカウントに属するBASE64 AuthStringをどのように生成するか説明しています。これは、REST APIがBASE64認証ヘッダを基盤とする際に有用です。認証トークンをGUIで提供するチケットシステムもあります。そのような場合、認証パラメータを直接使用することができます。更に、実装クラスでユーザー名とパスワードをハードコードする代わりに、この部分を割愛することができ、REST APIをJavaもしくはオンラインエディタを使用して生成したダイレクトBase64トークンと呼ぶことができます。

次のスニペットコードを参照してください:

// Constructing Authstring from Zendesk login credentials
String username = "username@example.com"; //Zendesk username
String password = "zendeskpassword"; //Zendesk password
Base64 encoder = new Base64();
byte[] encodedPassword = (username + ":" + password).getBytes();
byte[] encodedString = encoder.encodeBase64(encodedPassword);
String authStr = new String(encodedString);


ステップ2:チケットシステムとの接続確認

REST APIを使用して、PMPでは、チケットシステムよりチケットに関する情報を取得することができます。各チケットシステムでは、チケット詳細を広めるそれぞれの手順に従います。手順を識別できるよう、該当する文書を参照してください。チケット詳細を取得した後、その詳細情報を確認してください。

次のスニペットコードを参照してください:

String sUrl = "https://<zendesk-instance>.zendesk.com/api/v2/tickets/"; //REST API call Zendesk
sUrl = sUrl + ticketId +".json"; //This is the ticket ID that will be validated against the one supplied by the user in PMP
URL url = new URL(sUrl);
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.setRequestProperty("Authorization","Basic "+authStr); //Setting Authstring in the header


ステップ3:PMPでの特定カラムがチケットシステムで指定したカラムと一致するか検証する(オプショナル設定)

次のスニペットコードを参照し、PMPでの特定カラムがチケットシステムで指定したカラムと一致するか検証してください(例えば、PMPでの[リソース名]とチケットシステムの[SUBJECT]をマップする選択ができます。)。そのようなマップを指定すると、パスワードへのアクセス許可を与える前に、PMPは、指定した[リソース名]がチケットシステムでの[SUBJECT名](SUBJECTがリソース名を含む場合)と一致するか確認します。検証が成功するときのみ、アクセスが与えられます。

String assetName = (String)pmpColumns.get("Resource Name");//PMP Asset Name for which password related operation done
String subject = (String)ticket.get("subject");//Getting the ticket subject
boolean descriptionCheck = subject.toLowerCase().contains(assetName.toLowerCase());
//Checking the description of the ticket contains the resource name of user account


ステップ4:チケットシステムでチケットに関連した特定の状況を検証する(オプショナル設定)

チケットに関連する特定の状況が満たされているか確認することができます。既定では、PMPでは、チケットの[ステータス]が[完了]となっていないか確認します。追加の状況は複数選択することができ、PMPではチケットシステムとすべての状況を検証していきます。既定では、PMPではカスタマイズした項目も含め、チケットシステムで利用できるすべての項目をリスト表示します。そして、PMPが検証する値を指定することができます。この実装について、次のスニペットコードを参照してください;

JSONObject ticket = (JSONObject)ticketingOuput.get("ticket");
String status = (String)ticket.get("status");
boolean statusCheck = "open".equalsIgnoreCase(status); //Checking whether the status of the ticket is in open state


ステップ5:コンパイル

コンパイル中にクラスパスに次のjarを保持します(jarファイルは <PMP_HOME>\lib folder 配下にあります)
AdventNetPassTrix.jar;
json_simple-1.1.jar;
commons-codec-1.7.jar
For Example,
javac -d . -cp AdventNetPassTrix.jar;json_simple-1.1.jar;commons-codec-1.7.jar ZendeskImpl.java - (For Windows)
javac -d . -cp AdventNetPassTrix.jar:json_simple-1.1.jar:commons-codec-1.7.jar ZendeskImpl.java - (For Linux)

ステップ6:PMPインストールでの設定

  1. 単一jarとして実装クラスファイルを作成し、PMP_HOME\libフォルダにそのjarファイルを保存してください。
  2. PMPサービスを再起動させると、PMPはその実装クラスを使用するようになります。
  3. [管理] >> [連携]を開き、[チケットシステム連携]をクリックします。
  4. GUIが開くので、(チケットシステムを連携するために)[その他]を選択する、もしくは、(機能を増やしたい場合には)既に存在する連携されたチケットシステムの[詳細設定]より、[クラス実装]を選択してください。
  5. 実装クラス名を決定してください。
  6. 実装は他の管理者より承認されなければなりません。他のすべての管理者(リクエスト申請者以外の)は、承認リクエストに関する通知アラートを受け取ります。
  7. 管理者が実装を承認すると、その使用が認められます。
  8. 有効化の後、チケットシステムのワークフローは、パスワード取得とリセットに対し強制となります。

更なる情報として、Zendesk連携用に作成したサンプル実装クラスを参照してください。

実装の秘訣

ステップ3と4で、実装について追加情報が必要になるかもしれません。詳細は次の例を参照してください。

PMPのカラム

チケットリクエスト用ユーザーアカウントに関連したデータリストは、PMP側からPMPカラムのパラメータを通じて発生します;

PMPユーザー名 -ログインユーザー名
リソース名 - リソースの名前
DNS名 - リソースのIPアドレス
ユーザーアカウント - アカウント名
リソース種別 - アクセスされるリソースの種別 (Windows/ WindowsDomain/ Linux等.)
リソースの説明 - リソースについての説明
部門 - リソースが属する部門
ロケーション - リソースロケーション
ドメイン名 - リソースのドメイン名
リクエスト種別 - チケットシステムコールが行われるリクエスト種別;

取得 - パスワードアクセス
リクエスト - アクセスコントロールワークフローを通じて発生したパスワードアクセスリクエスト
リセット - パスワードリセット
自動ログオン - [オープン接続]リクエスト

ユーザー組織名 - リクエストを行ったユーザーの組織名
ユーザーカレント組織名 - リクエストされたアカウントが存在する組織の名前
これ以外のすべての追加カラムは、次のように送信されます;
Resource additional field - Resource@
Account additional field - Account@


詳細設定情報

ISPMPTICKETCRITERIA - PMP対チケットシステムが設定されているかどうか確認する。

(ブーリアン - 真もしくは偽)


PMPTICKETCRITERIACOLUMNS - PMPとチケットシステム間のマッピング詳細配列上の各要素が条件を表す。例えば、PMPでのカラム[ユーザーアカウント]は、チケットシステムカラム[REQUESTER]が条件[C1]の[EQUAL]パラメータと合致するか検証される必要があります。

JSONArray - [ ["C1","User Account","REQUESTER","EQUAL"],
["C2","PMP User Name","TECHNICIAN","EQUAL"] ]


PMPTICKETCRITERIA - 異なる条件間での関係を指定する。[PMPTICKETCRITERIACOLUMNS]の各要素は、条件名として最初のパラメータを含みます。条件間の関係を与えます。

(ストリング - 例:C1 もしくは C2)


ISTICKETVALUECRITERIA - チケットシステム値の検証が設定されているかどうか確認する。

(ブーリアン - 真もしくは偽)


TICKETVALUECRITERIACOLUMNS - チケットが満たすべきマッピング詳細配列上の各要素が条件を表します。例えば、チケットカラム[ステータス]は、条件[C1]の[完了]以外の値に対して検証される必要があります。

JSONArray - [ ["C1","STATUS","Closed","NOT_EQUAL"],
["C2","URGENCY","high","EQUAL"],
["C3","IMPACT","high","EQUAL"] ]


TICKETVALUECRITERIA - 異なる条件間の関係を指定します。[TICKETVALUECRITERIACOLUMNS]の各要素は、条件名として最初のパラメータを含み、条件間の関係を与えます。

(ストリング - 例:C1と (C2とC3)


ISTICKETCHANGEIDSTATUS - システム変更ステータス確認の検証が設定されているかどうか確認する(真もしくは偽)
TICKETCHANGEIDSTATUS - チケットID値の関連する[IDステータス変更]


一致するパラメーターは;

EQUAL - 2つのパラメータ値は同じであるべきです。
NOT_EQUAL - 2つのパラメータ値は異なるべきです。
CONTAINS - 最初のパラメータ値は第2のパラメータ値を含むべきです。
NOT_CONTAINS - 最初のパラメータ値は第2のパラメータ値を含むべきではないでしょう。
STARTS_WITH - 最初のパラメータは第2のパラメータ値でスタートしなければなりません。
ENDS_WITH - 最初のパラメータ値は第2のパラメータ値で終わらなければなりません。
(比較パラメータをベースとした日付です。)
LESS_THAN - 最初のパラメータ日付値は第2の日付値よりも小さくなければなりません。
GREATER_THAN - 最初のパラメータ日付値は、第2のパラメータ日付値よりも大きくなければなりません。
LESS_THAN_EQUAL - 最初のパラメータ日付値は第2の日付パラメータ値より小さいか、もしくは同じでなければなりません。
GREATER_THAN_EQUAL - 最初のパラメータ日付値は、第2の日付値よりも大きい、もしくは同じでなければなりません。
一致するパラメータにより、条件は検証されます。


7. ServiceNowカスタマイズ実装のスニペットコード

詳細設定では要求が満たない場合、カスタマイズの実装をすることができます。PMPより提供される既定の実装を拡張したり、追加の機能を持つことができます。どのように既定の実装がServiceNow用に作成されたか次の例で示します。この例は、カスタマイズ実装としてサービスを提供できるよう拡張されています。


package com.manageengine.ts;
import java.util.Properties;
import org.json.simple.JSONObject;
import com.adventnet.passtrix.helpdesk.ServiceNowImpl;

//ServiceNow custom implementation
public class ServiceNowCustomImpl extends ServiceNowImpl
{
  public boolean checkViewHelpDeskRequest(String ticketId, Properties pmpColumns, Properties credentialDetails, JSONObject criteriaDetails)
   throws Exception
  {
    boolean result = super.checkViewHelpDeskRequest(ticketId, pmpColumns, credentialDetails, criteriaDetails);
    //Your own implementation
    return result;
  }
}
以下の表は、PMPと容易に連携可能なチケットシステムのデフォルトの機能処理クラスを示しています。

ServiceDesk Plus Cloud

com.adventnet.passtrix.helpdesk.ServiceDeskPlusCloudImpl

ServiceDesk Plus MSP

com.adventnet.passtrix.helpdesk.ServiceDeskPlusMSPImpl

ServiceDesk Plus

com.adventnet.passtrix.helpdesk.ServiceDeskPlusOnPremiseImpl

ServiceNow

com.adventnet.passtrix.helpdesk.ServiceNowImpl

JIRA

com.adventnet.passtrix.helpdesk.JiraServiceDeskImpl

8. インタフェースの説明

システム統合のためのインターフェイス:

package com.manageengine.ts;

import java.util.Properties;
import org.json.simple.JSONObject;

// このクラスはチケット発行システムの統合を実装するメソッドを提供します。このインターフェイスを実装する必要があります
public interface TicketingSystemInterface
{
  /**
   * Used to display the error message while doing the ticketing system related operations. The output gets reflected in audit trails.
   * @return Error message, if the ticketing system accessible, return null. Otherwise, return a proper error message.
   */
  public String getErrorMsg();

  /**
   * Used to return the properties related to the ticketing system operation
   * @return Comments and needed message
   */
  public Properties getRequestProperties();

  /**
   * Used for testing configuration setup. While testing, administrator will be able to get ticket details from the ticketing system.
   * @param tsName Ticketing system Name
   * @param tsUrl Ticketing system Web URL
   * @param authToken Authentication Token assigned to a technician of ticketing system (Base64 authorization string constructed
                      using login credentials in the case of ServiceNow ticketing system)
   * @param ticketId Ticket ID given as the input  ((Ticket ID/Sys ID in the case of ServiceNow ticketing system)
   * @param Ticketing System operation type
   *    {@value 0} Ticketing Operation
   *    {@value 1} Change Related Operation
   * @return the output from ticketing side
   * @throws Exception
   */
  public JSONObject helpdeskCheck(String tsName, String tsUrl, String authToken, String ticketId, String operation) throws Exception;

  /**
   * Actual function that will be called upon whenever a ticketing system related operation is done from PMP GUI
   * @param ticketId Ticket ID (Ticket ID/Sys ID in the case of ServiceNow ticketing system)
   * @param pmpColumns Details of the PMP account for which ticketing system query is raised
   * @param credentialDetails Key details of ticketing system (Authentication token or Base64 authorization string
                      and web URL of ticketing system)
   * @param criteriaDetails Criteria mapping done as part of advanced configuration
   * @return Final output that will be sent to PMP server
   *    {@value true} Success case - Allows the operation to proceed
   *    {@value false} Failure case - Denies the operation to proceed
   * @throws Exception
   */
  public boolean checkViewHelpDeskRequest(String ticketId, Properties pmpColumns, Properties credentialDetails, JSONObject criteriaDetails)
   throws Exception;

}