オープンソースプロジェクトを分析する
このセクションでは、Qodana を使用してオープンソースプロジェクトを分析する方法について説明し、以下の使用例を取り上げます。
Qodana の設定と機能
ローカルでコードを分析するか、CI/CD パイプラインを使用する
分析レポートを Qodana クラウドに転送し、そこで閲覧する
コミュニティライセンスに基づいてライセンス供与される Qodana 製品は無償であり、オープンソースプロジェクトに最適です。
始める前に
利用可能なリンターと機能
以下の Qodana リンターとその機能は、コミュニティライセンスで利用可能です。
プログラミング言語と機能 | 説明 |
|---|---|
Java、Kotlin、Groovy | |
C#、C/C++、VB.NET | |
C および C++ | |
Python | |
コードの静的解析 | コードベース全体またはその増分変更を分析する |
ベースライン | コードをスナップショットと比較して、さまざまな問題を追跡する |
クオリティゲート | ローカル環境および CI/CD パイプラインにおいて、Qodana を終了させるためのしきい値を設定します。 これは、さまざまな問題とその深刻度に合わせて設定できます。 |
Qodana をローカルで実行するには、お使いのマシンに Qodana CLI がすでにデプロイされていることを確認してください。
上記の表にあるリンター名を使用して置き換えます。たとえば、qodana-jvm-community を使用して、このセクションで提供されている設定スニペット内の <linter> プレースホルダーを置き換えます。
Qodana クラウドの準備
Qodana クラウド UI で、組織に移動します。
組織ページで、「」をクリックします。

これにより、ダイアログが開きます。
ダイアログで、チーム名と可視性を指定して、をクリックします。

チームページで、ボタンをクリックします。

プロジェクトで、をクリックしてプロジェクトトークンを生成します。

生成されたプロジェクトトークンは、設定スニペット内で QODANA_TOKEN 変数の値として使用されます。
プロジェクトを分析する
インスペクションプロファイル
デフォルトでは、Qodana は qodana.starter プロファイルを使用してコードを解析します。qodana.recommended プロファイルを指定することで、追加のインスペクションプロファイルを使用することもできます。これを行うには、この設定をプロジェクトルートにある qodana.yaml ファイルに保存してください。
あるいは、アプリケーション設定で同じ設定を直接行うこともできます。
プロジェクト全体の構成を分析するには、代わりに qodana.sanity プロファイルを使用してください。
増分分析
定期分析はデフォルトで有効になっており、プロジェクト全体に対して実行されます。増分分析は、以下に説明するように実行できます。
増分分析 | 説明 |
|---|---|
| プルリクエストまたはマージリクエスト |
| 2 つのコミット間の変更点 |
プルリクエストを分析するには、--diff-start オプションを使用します。例:
GitHub Actions ではプルリクエストモードがデフォルトで有効になっているため、追加の設定は不要です。
以下は、2 つのコミット間の変更を分析するための設定例です。
増分解析に関する情報は、増分分析セクションに記載されています。
ベースラインと品質ゲート
ベースラインゲートと品質ゲートは、以下のオプションを使用して設定されます。
機能 | 設定方法 |
|---|---|
ベースライン |
|
問題の絶対数 |
|
重症度閾値 |
failureConditions:
severityThresholds:
any: <number> # Total problems
critical: <number> # Severities
high: <number>
moderate: <number>
low: <number>
info: <number>
|
以下のコードスニペットを使用して、問題の総数に対するベースラインと品質ゲートを設定します。
プロジェクトルートにある qodana.yaml ファイルに保存されている fail-threshold オプションを使用して、問題の絶対数を設定することもできます。
qodana.yaml ファイルで一度設定すれば、アプリケーションの設定で再度設定する必要はありません。
重大度しきい値は、qodana.yaml ファイルでのみ設定可能です。
分析レポートを見る
プロジェクトレポートからの情報が集約され、このイメージでマークされているいくつかのセクションに表示されます。

各セクションの説明は次のとおりです。
プロジェクト名、ブランチ名、前回の分析からの経過時間、検出された問題の数、その深刻度。
コンテキストメニューを使用すると、次のことが可能になります。
VCS の HTTPS または SSH URL を設定します
プロジェクトを別のチームに移動する
プロジェクトの名前を変更する
プロジェクトトークンをコピーまたは再生成する
プロジェクトを削除する
この表は、Qodana Cloud がメタデータに応じて複数のレポートをどのように解釈して表示するかを示しています。
ブランチ名 | コミット時間 | コミットハッシュ | 表示 |
|---|---|---|---|
同じ | 同じ | なし | 最新のレポートと以前のレポートを上書きします |
同じ | 違う | なし | 個別レポート |
なし | なし | 同じ | 単一レポート |
プロジェクトレポートを表示するには、それをクリックします。これにより、レポートページが開きます。

レポートページの上部には次の内容が含まれます。
ブランチセレクターを使用すると、プロジェクト内の各ブランチに関するレポートを表示できます。
最新の分析のコミットハッシュと時刻。
分析の日付と検出された問題の数を示すタイムライン。
ビルドページへの移動、SARIF 形式形式でのレポートのダウンロード、ヘルプガイドの起動、プロジェクトの設定を行うためのボタン。
検出された問題の絶対数、またはこのプロジェクト用に設定された基準値に対する問題数のどちらかを表示するためのセレクター。
Qodana レポート UI の詳細については、「分析レポート」セクションを参照してください。
関連ページ:
Qodana のエディション
ニーズに応じて、次の表に示す適切なライセンスを選択できます。Community フリー孤立した問題の解決に最適 Ultimate 詳細については、サブスクリプションのオプションと価格を参照してくださいさまざまなビジネスタスクを解決するために設計されています。試用版をご利用いただけます。Ultimate Plus 詳細については、サブスクリプションのオプションと価格を参照してください Ultimate ライセンスと同じ機能がすべて含まれていますが、追加機能と無制限の履歴データストレージも含まれています。試用...
クイックスタート
現行バージョンの Qodana(2026.1)では、様々なプログラミング言語や技術を用いたソフトウェアを解析できます。また、利用可能な機能を使って、デフォルトの Qodana 設定を拡張することも可能です。例として、このセクションでは、以下を使用して Qodana の操作をすぐに開始できる方法について説明します。JetBrains IDE、コマンドラインインターフェース、GitHub アクション、Gradle プラグインとして、前提条件:Qodana Cloud でプロジェクトを設定する Qod...
Java、Kotlin、Groovy
すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。Java プロジェクトを分析するには、次のリンターを使用できます。リンター名 Docker イメージベースとなるもの IntelliJ IDEA Ultimate ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 Java、Kotlin、Groovy、...
.NET
すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。.NET プロジェクトを分析するには、次の Qodana リンターを使用できます。リンター名 Docker イメージ * ベースとなるもの JetBrains Rider ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 C#、C/C++、VB.NET、J...
C / C++
C/C++ ファミリのリンターは、CMake などの一般的なビルドシステムをサポートするか、ファイルを提供する C および C++ プロジェクトを解析できます。この機能を提供するリンターは 2 種類あります。リンター名 Docker イメージ * ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法 Docker イメージサポート CLion が提供するインスペクションのフルセット:Clang-Tidy インスペクションは Qodana コミュニティによって C/...
Python
すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。Python プロジェクトを分析するには、次のリンターを使用できます。リンター名 Docker イメージベースとなるもの PyCharm Professional ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 Python、JavaScript、T...
