SonarQube備忘録

SonarQubeはメジャーな静的コード解析ツールの1つ。

フロントエンド(Typescriptなど)にもAPI(Javaなど)にも対応している。

バージョン確認

ブラウザで以下にアクセスする。

http://localhost:9000/api/server/version

※http://localhost:9000 は、SonarQubeを起動しているサーバーのURLを指定する

SonarQubeのレポート出力

レポート機能はいくつかあるが、それぞれ特徴とハードルがある。

  • APIを使用したリクエスト:プロジェクト単位、JSON形式での出力
  • SonarQubeのインポート/エクスポート:SonarQube専用の形式になるため、レポートというかデータの共有方法。プロジェクトを選択>Project Settings>Import / Export
  • SonarQube for PDF:PDFで出力できるが、無料版では使用できない

一番現実的なのがAPIの使用なので、以下で紹介する。

APIを使用したリクエスト

SonarQubeの提供するAPIにアクセスして、JSON形式でレポートを出力できる。出力されるデータは、かなりのコード量になる。

リクエストフォーマット(bash)

curl -u <username>:<password> "http://localhost:9000/api/issues/search?componentKeys=<project-key>" > sonarqube_report.json
  • http://localhost:9000 は、SonarQubeを起動しているサーバーのURLを指定する。
  • project-key は基本的には左上に表示されているプロジェクト名になるが、正確な情報は、Project Information > Project Keyから確認できる。
  • パスワード等で「!」などの特殊記号を使用している場合は、「\」でエスケープする。
  • ファイルとして出力する場合は、コマンド末尾に出力パスを指定する。(例: > sonarqube_report.json)

 

 

 

コメント

タイトルとURLをコピーしました