ウェブフック

コンピュウェアWeb製品は、要求を発行し、その要求に対する応答を受信することによって、ISPWなどのコンピュウェア メインフレーム製品と通信します。たとえば、コンピュウェアWeb製品を使用して、メインフレーム上で実行されているISPWのインスタンスに対してデプロイ要求を発行できます。ISPWのインスタンスは、その要求に対する応答(デプロイ処理の成功または失敗を示す)を将来戻します。DevOps環境の一部として、コンピュウェアWeb製品や他のソースからISPWアクションが発生したときにサード パーティー製アプリケーションに通知することに関心がある場合、ウェブフックを使用してこのタイプの統合を達成できます。

Compuware Enterprise Servicesのウェブフック

ウェブフックを使用すると、コンピュウェア メインフレーム製品でアクションが発生したときに、Slack™などのサード パーティー製アプリケーションで通知を受け取ることができます。たとえば、ISPWでプロモーションが行われたときにJenkins™に通知を送信してビルドを開始することができます。

Compuware Enterprise Servicesの [ウェブフック] ページにアクセスすると、構成されたウェブフックが表示されます。これらには、ウェブフックのユーザー定義名、応答が転送されるURL、および転送時に使用されるHTTPメソッド タイプを示す設定済みのWebフックがリストされます。

ウェブフック リストの上のフィルター アイコンをクリックし、フィルター条件を入力することによってリストの表示を絞り込むことができます。たとえば、リストをすべてのPOSTメソッドに絞り込むには、フィルター アイコンをクリックし、POST と入力します。POSTメソッドのリストをさらに絞り込み、ドメインtest.comを含むURLに送信されるものに限定する場合は、フィルターに「POST test.com」 と入力します。

リストに表示されるウェブフックの数を変更するには、リストの下にあるオプション フィールドで別の値を選択します。デフォルトは1ページあたり25項目です。これを、10、25、50、100、500、またはすべてに変更できます。

管理者権限がある場合は、ウェブフックを追加、編集、削除することもできます。

ISPWでは、CESにプッシュ通知するように構成する必要があります。ISPWが使用するCESインストールはCMSCで構成します。

ISPWは再起動時に通知を保持しません。したがって、以前にCESで作成されたウェブフックをISPWが登録するには、ISPWが開始する前にCESが実行されている必要があります。

ウェブフックを追加するには、以下を行います。

  1. ウェブフック リストの下にある [追加] をクリックします。ウェブフック情報ページが表示されます。

  2. 以下のフィールドを入力してウェブフックを設定します。

  • ウェブフックを有効にする: オン/オフに切り替えます。ウェブフックを有効にするかどうかを指定します。有効になっていない場合、Compuwareメインフレーム製品への要求は送信されないため、応答は受信されません。以前有効になっていたウェブフックを無効にすると、Compuwareメインフレーム製品はこれ以降の応答の送信を停止します。

  • 名前: ウェブフックのユーザー定義名です。ウェブフックをリスト表示するときにウェブフックを識別しやすくなります。

  • URL: Compuwareメインフレーム製品の応答が送信される先のURLです。

入力するURLは、http://または https://で始まる必要があります。

  • リクエスト メソッド:Compuwareメインフレーム製品からの応答が指定されたURLに転送されるときに使用されるHTTPメソッドです。次のメソッドを選択します:DELETE、GET、POST、およびPUT。サードパーティー製のアプリケーションが共通の規約に従う場合では、DELETEは資源を削除し、GETは資源を取得し、POSTは資源を作成し、PUTは資源を編集または変更します。たとえば、応答を受信したときにサードパーティー製アプリケーションで新しいアイテムを作成するには、POSTオプションを選択します。

  • リクエスト ヘッダー: サードパーティー製のアプリケーションへの応答と共に送信する必要のあるHTTPヘッダーを定義します。たとえば、認証情報をサードパーティー製アプリケーションに提供するには、[Add Header](ヘッダーの追加)をクリックします。[ヘッダーの名前] フィールドに「Authorization」と入力し、[ヘッダーの値] フィールドに、「Basic dXNlcjpwYXNzd29yZA==ik」などの認証情報を入力します。

  • リクエスト ボディー: HTTPリクエストの本体でサードパーティー製アプリケーションに送信する情報を指定します。これは任意のテキストを入力できる自由形式のフィールドで、JSON、XML、またはサードパーティー製アプリケーションで要求される形式を入力できます。

  • 製品: 要求を受信するCompuwareメインフレーム製品を指定します。

  • 製品固有のフィールド残りのフィールドは、選択したCompuwareメインフレーム製品に固有のフィールドです。選択に基づいて動的に変更されます。ISPWでは以下のフィールドが使用されます。

    • アプリケーション: ISPW資源のアプリケーション名です。各アプリケーション名は4文字以下でなければなりません。また、それぞれの名前はカンマで区切ります。
    • レベル: ISPW資源の現在のレベルです。各レベルは4文字以下でなければなりません。また、レベルはカンマで区切ります。
    • イベント名: ISPW資源に関連付けられたイベントの現在の名前です。イベント名はカンマで区切ります。
    • 操作: 応答を必要とする操作です。たとえば、デプロイまたはプロモートが発生したときに応答を受け取る場合は、[デプロイ] と [プロモート] を選択します。

変数の代入

URL、要求ヘッダー、および要求の本文フィールドで変数の代入を使用できます。$$で囲まれた文字列が関連する値に置き換えられます。たとえば、メインフレーム製品が通知の送信時にIDを指定した場合、以下のようにURLに変数を入れておくことで、IDを動的にURLに追加することができます。

http://sample.com/endpoint/$$ID$$

送信されたIDが123-456-789だった場合、URLは以下のようになります。

http://sample.com/endpoint/123-456-789

ISPWの値を代入するには、以下の変数を使用できます。

  • $$application$$ (ISPWのアプリケーション名)
  • $$assignment$$ (タスクが属する割り当てID)
  • $$deployDate$$ (資源がISPWにデプロイされた日付)
  • $$deployTime$$ (資源がISPWにデプロイされた時刻)
  • $$event$$ (ISPW資源に関連付けられているイベント名)
  • $$level$$ (ISPW資源の現在のレベル)
  • $$message$$ (ISPWで実行された操作に関するメッセージ)
  • $$notificationID$$ (ISPWの通知に関連付けられたID)
  • $$operation$$ (ISPWで実行される操作)
  • $$owner$$ (ISPWの資源の所有者)
  • $$release$$ (ISPWのリリース)
  • $$setID$$ (ISPWのセットID)
  • $$startDate$$ (操作が開始された日付)
  • $$startTime$$ (操作が開始された時刻)
  • $$stream$$ (ISPWのストリーム)
  1. ウェブフックを設定したら [OK] をクリックし、ウェブフックが有効になっている場合は選択したメインフレーム製品に要求を送信します。ウェブフックがリストに表示されます。

ウェブフックを編集するには、以下を行います。

  1. ウェブフック情報ページでリストからウェブフックを選択し、[編集] をクリックします。ウェブフック情報ページが表示されます。フィールドには、そのウェブフックの値が入力されます。

  2. 必要に応じてフィールドの内容を編集します。

  3. [OK] をクリックして、選択したメインフレーム製品に要求を送信します。

ウェブフックを削除するには、以下を行います。

  1. リストから1つまたは複数のウェブフックを選択します。

  2. [削除] をクリックします。ウェブフックがリストから削除され、関連するメインフレーム製品から要求が削除されます。

ウェブフックの例

DevOpsを採用している企業として、コンピュウェアWeb製品、Compuware ISPW、およびSlack™ を使用していると想定します。ISPWでプロモーションが発生するたびにSlack™ に通知を送信したいと考えています。これを実現するには、以下の設定オプションを使用してコンピュウェアWeb製品にウェブフックを作成します。

  • ウェブフックを有効にする: オン

  • 名前: ISPW Promote Slack Notification(ISPWプロモート時のSlack通知)

  • URL:https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

  • リクエスト メソッド: POST

  • リクエスト ヘッダー: Content-type application/json

  • リクエスト ボディー: { “text” : “A promote occurred in ISPW” }

  • 製品:ISPW

  • イベント名: Promote(プロモート)

特定のアプリケーション、レベル、またはイベント名への応答でフィルター処理がされないように、[イベント基準] は空のままにしておきます。これにより、ISPWで起きるすべてのプロモートについてのメッセージを Slack™ で受け取ります。

変数の代入を使用したウェブフックの例

DevOpsを採用している企業として、コンピュウェアWeb製品、Compuware ISPW、およびSlack™ を使用していると想定します。ISPWでプロモーションが発生するたびにSlack™ に通知を送信したいと考えています。これを実現するには、以下の設定オプションを使用してコンピュウェアWeb製品にウェブフックを作成します。

  • ウェブフックを有効にする: オン

  • 名前: ISPW Promote Slack Notification(ISPWプロモート時のSlack通知)

  • URL:https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

  • リクエスト メソッド: POST

  • リクエスト ヘッダー: Content-type application/json

  • リクエスト ボディー: {"text" : "A promote occurred in ISPW for set: $$setID$$ at level: $$level$$ with a status of: $$eventNames$$"}

  • 製品:ISPW

  • イベント名: Promote(プロモート)

URLは、以下のようなJSONボディでPOSTリクエストを受け取ります。

{
"text" : "A promote occurred in ISPW for set: S000000021 at level: DEV1 with a status of: success"
}

特定のアプリケーション、レベル、またはイベント名への応答でフィルター処理がされないように、[イベント基準] は空のままにしておきます。これにより、ISPWで起きるすべてのプロモートについてのメッセージを Slack™ で受け取ります。

 

関連トピック

Compuware Enterprise Servicesへようこそ
管理
データベース設定
ホスト接続の設定
問題の管理設定
ライセンスの設定
セキュリティーの設定
Topazチーム プロファイル
更新センター
Webサーバーの設定