このセクションの内容:

はじめに

このチュートリアルでは、以下の DTP Workflow サンプルについて説明します。これらのサンプルを利用して DTP イベントに基づいてメール通知を送る方法について説明します。この例では、次の DTP REST API を使用します。

  • Endpoint: http://<HOST>:<PORT>/grs/api/v1/staticAnalysisViolations/{{event.message.ids.0}}/prioritization/events
  • URL: /staticAnalysisViolations/{{event.message.ids.0}}/prioritization/events
  • メソッド: GET

要件

  1. DTP および Extension Designer を正しく設定していること。「サーバーの設定」を参照してください。
  2. SMTP メール サーバーを設定していること。「SMTP の設定」を参照してください。
  3. DTP が Parasoft 静的解析/テスト ツール (C/C++test、dotTEST、 Jtest) から静的解析データを収集済みであること。編集する違反メタデータが必要だからです。  

セットアップ

  1. DTP Workflow カテゴリで新規にサービスを作成し (「サービスの使用」を参照)、新しいフローを作成します (「フローの使用」を参照)。既存のサービスに新しいフローを追加することもできます。  
  2. Extension Designer のメニューから [読み込み] を選択します。
  3. [Library] タブをクリックし、[Examples] > [Data Collector Error Email.json] を選択します。
  4. [読み込み] をクリックし、フローをタブにドロップします。

Data Collector Error Email フローを読み込むと、このフローは Send an Email when a Report Fails to Processes comment ノードでラベル付けされます。 

構成

DTP の DataCollector トピックは、Data Collector から作成されたイベントについてサブスクライバに通知します。このトピックは 3 種類のイベントをサポートします。

  • ReceivedEvent: Data Collector がレポートを受け取って処理を開始するときに、イベントがスローされます。
  • ProcessedEvent: Data Collector がレポートの処理を正常に完了したときに、イベントがスローされます。
  • ErroredEvent: Data Collector がレポートの処理中にエラーに遭遇したときに、イベントがスローされます。

詳細については「イベント トピック」を参照してください。

  1. DataCollector/ErroredEvent ノードをダブルクリックします。これは Event In ノードです。この例では DataCollector トピックをサブスクライブして JMS の ErrorEvent イベントをリッスンするために使用します。この DataCollector/ErrorEvent イベントが実行されるのは、「エラーを受け取り、レポートされたテスト結果を処理できないこと」を Data Collector がサブスクライバに通知するときです。

    このノードはペイロード データを msg.event に転送します。データにはイベントについての詳細情報が含まれています。
  2. Prepare email body ノードをダブルクリックします。これは Template ノードであり、メール ボディのテンプレートを簡単に作成できます。この例では、メール ボディはイベントから受け取ったデータを含みます。  

  3. [処理ノードの仕様] タブに、このノードの設定方法が表示されます。メニューから [表示] > [サイドバーの表示] を選択します。 
  4. (オプション) Event ノードの後に debug ノードを追加して、イベントからのペイロードを確認できます。そうすることで、ペイロードをキャプチャーし、必要に応じてテンプレートをカスタマイズできます。

  5. Send Email to Team Lead ノードをダブルクリックし、受信アドレスとメールの件名を設定します。[Body] フィールドは、ステップ 2 で設定したボディを参照します。 

正常にメールが送信されると、最後に non-error レスポンスが得られます。

  • No labels