Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DTPDEVEL and version 2023.2

...

DTP から静的解析違反を取り出す

このフローは、DTP の /staticAnalysisViolation REST API によって静的解析データを取得します。詳細については「Using DTP REST APIs」を参照してください。

Image RemovedImage Added

Get violations for Build ノードをダブルクリックします。このノードは DTP REST API ノードであり、DTP REST API にリクエストを送るための特別な種類のノードです (利用できるノードの一覧については「Working with Nodes」を参照)。このノードのエンドポイントは、/v1.2/staticAnalysisViolations?buildId={{payload}} を指します。このノードは、フローを設定 したときに指定したビルド IDに基づいてデータを取得します。また、msg.staticAnalysis に静的解析違反ペイロードを返します。

...

5 行目は、staticAnalysisViolations 配列をそれぞれ 100 件の違反を持つ複数の配列に分割します。この分割によって、DTP REST API にデータを送り返すときにペイロードの量が安全なサイズまで削減されます。膨大なペイロードを 1 回の呼び出しで処理すると、Extension Designer が予想外のエラーを起こすことがあります (「ノードの使用Working with Nodes#dtp-rest-api-node」を参照)。

7 行目から 16 行目は、次の Prioritization API の呼び出しに備えて新しい msg 配列を作成します。この API は JSON オブジェクトを期待します。各サンプルは Violations メタデータのフィールドを異なる方法で設定します。許容されるペイロードの詳細については API のドキュメントを参照してください。 

Image RemovedImage Added

この例では、"担当者" は johndoe に設定されます。このフローを処理すると、API で呼び出されるすべての違反が johndoe に割り当てられます。必要に応じて、独自のロジックを追加して別の担当者を追加できます。

...

11 行目から 15 行目は、違反に対するアクションを定義する JavaScript です。この例では、violationActionFix に設定されます。

アクションは DTP で定義します。/v1.4/metadata/violationAction API を検索して、violationAction を検索して、violationAction フィールドで利用できる値を確認できます。レスポンスで指定された、利用できる任意の値を使用できます。

...

このメタデータはカスタマイズできます。また、DTP Server ごとにアクションが異なる場合もあります。詳細については /metadata/violationAction API ドキュメントを参照してください。 

例 4 - リスク/影響の設定 

この例は「Example 2 - Set Priority優先度の設定」と「Example 3 - Set Actionアクションの設定」に似ています。この例では、すべての違反が "Extreme" に分類されます。Find and set the classificationId function ノードをクリックて JavaScript を確認してください。

...

Group violations and set relevant priorityId function ノードをクリックて JavaScript を確認してください。msg 配列から配列を返すのではなく、node.send() メソッドを使って次のノードに非同期的に msg オブジェクトをプッシュします (メッセージを非同期に送る方法の詳細については https://nodered.org/docs/writing-functions#sending-messages-asynchronously を参照してください)。

/v1.4/metadata DTP REST API を検索して、DTP で利用できるメタデータの値を確認できます。

Image RemovedImage Added