IBM Cloud Docs
DevOps Insights へのテスト・データの公開

DevOps Insights へのテスト・データの公開

ユーザーは、任意の継続的統合と継続的デリバリー (CI/CD) ツールからテスト結果を IBM Cloud® DevOps Insights にアップロードして、それらのすべてのテスト結果を DevOps Insights の「品質ダッシュボード」ページで参照することができます。 CI/CD ツールとは、ビルドを作成し、テストを実行し、デプロイメントを実行するために使用する Jenkins、Travis CI、IBM® Continuous Delivery Pipeline for IBM Cloud® などのツールのことです。

「品質ダッシュボード」ページについて詳しくは、DevOps データ集約を参照してください。

DevOps Insights でサポートされるテスト・データ・フォーマット

次の表に、サポート対象のテストとフォーマットをリストします。

デフォルトDevOps Insightsデータセット
表示ラベル データ・タイプ サポートされるデータ・フォーマットとファイル拡張子
単体テスト テスト・ケース JUnit (JSON)、xUnit (xml)、Mocha (JSON)、KarmaMocha (JSON)
コード・カバレッジ コード・カバレッジ Cobertura (xml)、lcov (info)、JaCoCo(xml)
機能検証テスト テスト・ケース JUnit (JSON)、xUnit (xml)、Mocha (JSON)、KarmaMocha (JSON)
SonarQube SonarQube SonarQube
動的セキュリティー・スキャン 動的セキュリティー・スキャン IBM Cloud® Application Security (xml)
静的セキュリティー・スキャン 静的セキュリティー・スキャン IBM Cloud® Application Security (xml)
Vulnerability Advisor Vulnerability Advisor 脆弱性アドバイザー (JSON)

テスト・ケース結果のアップロード

単体テスト、機能検証テストまたはカスタム・テスト・データをアップロードするには、次のコマンドを使用します。

ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation "./test-sample-folder/unit_test_mocha.json" --type=unittest

DevOps Insightsにアップロードできるテスト結果ファイルのサンプルについては、ダミーデータを含むこのGitHubリポジトリを参照のこと。

コード・カバレッジ結果のアップロード

コード・カバレッジ結果またはカスタム・コード・データをアップロードするには、次のコマンドを使用します。

ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation "./test-sample-folder/code_coverage_cobertura.xml" --type=code

DevOps Insightsにアップロードできるテスト結果ファイルのサンプルについては、ダミーデータを含むこのGitHubリポジトリを参照のこと。

IBM Application Scan レポートのアップロード

IBM AppScan CLI ツールからレポートを取得できます。 CLI からアプリケーションをスキャンし、結果を圧縮ファイル形式で取得します。

appscan.sh get_result -i $job_id -d "$APPSCAN_SCAN_NAME.zip" -t zip

結果をいずれかのフォルダーに unzip してから、そのフォルダーを開き、Report-final.xml というファイルをアップロードします。

ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation "./Report-final.xml" --type staticsecurityscan

レポートが動的スキャンの結果の場合は、タイプを dynamicsecurityscan に変更します。

SonarQube 結果のアップロード

SonarQube のデータをアップロードするには、SonarQube サーバーのトークンを --token で指定しなければなりません。 使用する SonarQube サーバーは、使用する CI/CD ツールからアクセス可能でなければなりません。

SonarQube を使用してスキャンを実行した後、SonarQube 結果をこのコマンドを実行してアップロードできます。

ibmcloud doi testrecord-publish --logicalappname "$MY_APP_NAME" --buildnumber "$MY_BUILD_NUMBER" --filelocation ".scannerwork/report-task.txt" --type=sonarqube --token=$SONARQUBE_TOKEN

report-task.txt は、SonarQube スキャン中に生成されたファイルです。

IBM 脆弱性アドバイザーの結果のアップロード

CLI から脆弱性アドバイザーのスキャン結果を取得するには、次のコマンドを使用します。

ibmcloud cr va ${PIPELINE_IMAGE_URL} -o json > vulnerability_advisor.json

イメージのリポジトリーとタグは、脆弱性アドバイザー UI から、または CLI で ibmcloud cr image-list を使用して取得できます。 DevOps Insights は JSON 出力のみ受け入れます。 次のコマンドを実行して、脆弱性アドバイザー出力ファイルを DevOps Insights にアップロードできます。

ibmcloud doi testrecord-publish --logicalappname "${APP_NAME}" --buildnumber "${BUILD_NUMBER}" --filelocation "vulnerability_advisor.json" --type vulnerabilityadvisor