Extension Designer には、フローを作成するときに頻繁に使用される一般的なユーティリティ フローがあらかじめ用意されています。それらのビルトイン フローは  [読み込み] > [ライブラリ]  > [Common] メニューにあります。

以下のフローを利用できます。

ビルド

ほとんどの DTP レポートと REST API は、ビルド ID に基づきます。一部のウィジェットは、設定中にビルド関連オプションを提供します。たとえば:

  • 最新ビルド

  • 前回のビルド

  • 期間内の最初のビルド

Common のフローは、サービスの作成中にこのデータを決定するのに役立ちます。ビルド ID の詳細については「DTP の概念」を参照してください。

Get Build Delta フロー

ベースライン ビルドとターゲット ビルドの 2 種類の ビルド ID をフローが必要とする場合があります。Get Build Delta フローは、カスタマイズ可能な条件に基いて正しいビルドを探し出すのに役立ちます。このフローは、入力を検証し、有効なベースライン ビルドとターゲット ビルドが存在するかどうかを判断します。function ノードをカスタマイズする必要がある場合は、function ノードをダブルクリックし、表示された Javascript のコメントを参照してノードの機能を調べてください。

期待される入力ペイロード

オブジェクト説明
msg.payload.filterIdNumber: ビルドが発見したフィルター ID。
msg.payload.baselineBuildIdString: firstBuildInPeriodpreviousBuild、またはユーザーが探しているビルド ID。
msg.payload.targetBuildIdString: latestBuild またはユーザーが探しているビルド ID。

期待される出力ペイロード

オブジェクト説明
msg.baseline 

一致するベースライン ビルド ID がある場合、/v1.2/builds REST API のビルド データに一致します。

msg.target 

一致するターゲット ビルド ID がある場合、/v1.2/builds REST API のビルド データに一致します。

エラー出力ペイロード

オブジェクト説明

msg.payload

このオブジェクトには、ローカライズされたエラー メッセージを持つ、Extension Designer からの標準的な Error Object があります。

使用する DTP REST API

  • /v1.2/filters - フィルターの詳細を取得し、有効なフィルター ID をユーザーが入力しているかどうかを検証します。
  • /v1.2/builds - 入力されたフィルター ID に基いてビルド情報を取得します。

Get Build フロー

入力フィルター ID とビルド ID を提供された場合、このユーティリティ フローは、ビルド条件に基いて、ビルド詳細情報を探すのに役立ちます。たとえば:  

  • ロックされたビルド

  • アーカイブされたビルド

  • 静的解析、テスト、またはカバレッジを含むビルド

このフローは、1 個のビルド ID を受け取り、1 個の一致するビルド ID を返します。ベースライン ビルドとターゲット ビルドを取得したい場合は Get Build Delta フローを使用してください。

function ノードをカスタマイズする必要がある場合は、function ノードをダブルクリックし、表示された Javascript のコメントを参照してノードの機能を調べてください。

期待される入力ペイロード

オブジェクト説明
msg.payload.filterId 

Number: ビルドが発見したフィルター ID。

msg.payload.buildId

String: latestBuild またはユーザーが探しているビルド ID。

期待される出力ペイロード

オブジェクト説明
msg.build

一致するベースライン ビルド ID がある場合、/v1.2/builds REST API のビルド データに一致します。

エラー出力ペイロード

オブジェクト説明
msg.payloadこのオブジェクトには、ローカライズされたエラー メッセージを持つ、Extension Designer からの標準的な Error Object があります。

使用する DTP REST API

  • /v1.2/filters - フィルターの詳細を取得し、有効なフィルター ID をユーザーが入力しているかどうかを検証します。
  • /v1.2/builds - 入力されたフィルター ID に基いてビルド情報を取得します。

Get Project name from Build フロー

このユーティリティ フローは、ビルド ID に基いてプロジェクト名を特定します。ビルド ID しか持っていないが、フィルター ID またはプロジェクト名が必要な場合、Get Project name from Build を直接フローに差し込んでプロジェクト名を探すことができます。

このフローからプロジェクト名を特定したら、そのプロジェクトを使ってフィルターを探してデフォルト フィルターを取得できます。プロジェクト名に一致するフィルターが常に 1 個存在し、通常このフィルターは必要なデータを含みます。

期待される入力ペイロード

オブジェクト説明
msg.payload.buildId

String: ビルド ID。

期待される出力ペイロード

オブジェクト説明
msg.project/v1.2/runs API から発見されたプロジェクト名。

エラー出力ペイロード

オブジェクト説明
msg.payloadこのオブジェクトには、ローカライズされたエラー メッセージを持つ、Extension Designer からの標準的な Error Object があります。

使用する DTP REST API

  • /v1.2/runs - ビルド ID に対してレポートされたプロジェクトを特定します。

Violation Events フロー

以前のバージョンの Extension Designer (PIE Slice Designer 1.3.x 以前) には、新規または修正済みの違反を簡単に利用できるビルトイン PIE イベントがあらかじめ用意されていました。Violation Events フローは、それらのイベントをサービスで利用できるようにします。

このフローをデプロイする必要はないかもしれません

すでにアーティファクト マネージャーからサービスに Static Analysis Violation Reporter for Atlassian JIRA アーティファクトをデプロイ済みである場合、このフローは同じイベント フローにバンドルされているため、再びデプロイしないでください。

DTP 5.4.0 で、トレンド情報を生成するために使用される静的解析 REST API が更新されました。現在この API は、日付ベースのパラダイムではなく、ビルド ベースのパラダイムを使ってデータを返します。バージョン 5.3.3 以前の DTP からアップグレードした場合、古いバージョンの  Violation Events フローを使って作成したカスタム アーティファクトを、DTP 5.4 以降の Violation Events フローを使用するように更新する必要があります。


  • No labels