クイックスタート
現行バージョンの Qodana(2026.1)では、様々なプログラミング言語や技術を用いたソフトウェアを解析できます。また、利用可能な機能を使って、デフォルトの Qodana 設定を拡張することも可能です。
例として、このセクションでは、以下を使用して Qodana の操作をすぐに開始できる方法について説明します。
前提条件
Qodana Cloud でプロジェクトを設定する
Qodana を実行する前に、Qodana クラウド(英語)に新しい組織とプロジェクトを作成する必要があります。このセットアッププロセスでは、さまざまな CI/CD パイプラインおよび Qodana CLI(英語) または JetBrains IDE を使用したローカル実行用にプロジェクトを構成する手順が示され、Qodana リンターに必要なプロジェクトトークンが生成されます。さらに、Qodana では、ライセンス契約(英語)で指定されているように、アクティブなコントリビューターを追跡するためにリポジトリへの接続が必要です。
プロジェクトのセットアップでは、ライセンスや会社などの JetBrains アカウントの情報が使用されます。
GitHub アクション
Qodana スキャン GitHub アクションを GitHub でホストされているリポジトリで実行する場合は、プロジェクト設定時に Qodana App をインストールする必要があります。

この GitHub アプリケーションは、以下のデータをリポジトリに一度だけプッシュします。
GitHub アクション設定ファイル
qodana.yamlファイルコントリビューターカウント用のデプロイキー
リポジトリへのアクセスを提供するための Qodana アクセストークンシークレット
分析対象のリポジトリへのアクセス権がない場合は、必要なアクセス権を申請し、承認されるまでお待ちください。それ以外の場合は、プロジェクトで Qodana を起動するための手順と設定スニペットが提供されます。
グローバル構成
プロジェクトのセットアップ段階で、コードの分析中に使用されるグローバル構成を選択できます。
ネイティブモード
ネイティブモードは Qodana の Docker コンテナーと互換性がないため、Qodana は Docker コンテナーとして、またはネイティブモードで実行する必要があります。
コマンドラインを使用して Qodana をネイティブモードで実行したい場合は、実行するマシンに Qodana CLI をインストールしてください。
Qodana をネイティブモードに設定するために使用できるテクノロジーの一覧は以下のとおりです。
言語 | リンター名 |
|---|---|
| |
| |
| |
| |
| |
|
.NET ネイティブモード
お使いのコンピューターに適切なバージョンの .NET SDK と必要な依存関係がすべてインストールされていることを確認してください。
Qodana を使用してインスペクションする前にプロジェクトをビルドします。これは、 qodana.yaml ファイルの bootstrap キーを使用して実行できます。プロジェクトのビルドとアーティファクトのパッケージ化の段階は、Qodana の前、または同時に実行する必要があります。Qodana を実行するとプロジェクトの状態とそのファイルに影響する可能性があるため、ビルドパイプラインで同じディレクトリを再利用することは避けることをお勧めします。
また、Qodana にビルド済みのプロジェクトを提供したり、CI/CD パイプラインでビルド手順を指定したりすることもできます。プロジェクトのビルドに関連する警告を削除するには、リポジトリに空の qodana.yaml ファイルを作成します。
また、qodana-dotnet リンターはプロジェクトをビルドするのと同じマシンで実行することをお勧めします。これにより、Qodana がプライベートな NuGet フィードにアクセスできることが保証されます。
コンテナーモード
コンテナーモードは、Docker アプリケーションがマシンにデプロイされていることを前提としています。
Docker Hub からイメージをプルします (最新バージョンを取得する場合にのみ必要です)。
ここで、image は、この表の Docker イメージ名を表します。
リンター | Docker イメージ |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
この表には、事前に設定された Qodana イメージを取得するためのオプションのタグが含まれています。
-clangXXタグは、Clang-Tidy(英語) のバージョンを 15 から 18 に設定します。-ruby3.Xタグは、Ruby のバージョンを 3.1 から 3.4 まで設定します。指定がない場合は、バージョン 3.4 が使用されます。-privilegedタグを使用すると、Qodana を特権モードで実行して、root アクセスを必要とするコマンドを実行できます。この場合、Qodana には root 権限を持ち、パスワードを必要としないデフォルトのqodanaユーザーが付属しています。該当する場合、このタグを使用するには、-clangXXタグと-ruby3.Xタグの設定が必要です。
Qodana CLI
コマンドラインインターフェースを使用する場合、ネイティブモードとコンテナーモードの両方に適した Qodana CLI は、Qodana を実行する最も簡単な方法です。
Qodana CLI をデフォルトモードで実行するには、Docker または Podman がインストールされ、ローカルで実行されている必要があります。Linux を使用している場合は、現在の非 root ユーザー(英語)で Docker を実行できるはずです。
利用可能なオプションを使用して、Qodana CLI をマシンにインストールします。
Homebrew(英語) を使用してインストールします (推奨):
あるいは、インストーラーを使用して Qodana CLI をインストールすることもできます。
nightly またはその他のバージョンは、次の方法でインストールできます。
Linux では、Go(英語) を使用して Qodana をインストールすることもできます。
Windows パッケージマネージャーを使用してインストールします (推奨):
Chocolatey(英語) を使用してインストールします。
Scoop(英語) を使用してインストールします。
異なる Docker コンテキストまたは Podman
Qodana は、コンテナーエンジンとの通信に Docker CLI を使用し、実行時に有効になっている Docker コンテキストを採用します。例: コンテナーエンジンとして Podman を使用するには、次のいずれかを行う必要があります。
Podman デスクトップで、Docker 互換モードを有効にし、Docker を無効にして、Podman が
/var/run/docker.sockをリッスンするようにします。Podman ソケットを使用して Docker コンテキストを作成します。Podman デスクトップを使用している場合は、設定> リソースにソケットパスがあります。
docker version コマンドを実行すると、どのエンジンがアクティブになっているかを確認できます。
JetBrains IDE で Qodana を実行する
Qodana は、JetBrains によって開発された IntelliJ IDEA、PhpStorm、WebStorm、GoLand、PyCharm、Rider、CLion など、いくつかの IDE で利用可能です。
以下は、IDE で Qodana を実行する方法を示す短いアニメーションです。

このアニメーションに示されているすべての手順の説明は次のとおりです。
IDE で、ツールウィンドウに移動します。
ツールウィンドウで、 タブをクリックします。
タブで、ボタンをクリックして Qodana を開始します。
タブでは、解析結果を確認できます。タブの上部には 2 つのリンクがあります。

ブラウザーで分析レポートを開きます。

Visual Studio および Visual Studio Code のセクションに記載されている推奨事項を参考に、Qodana のインストール方法を学ぶこともできます。
CLI を使用して Qodana を実行する
このセクションでは、前提条件の章の手順を完了していることを前提としています。
プロジェクトのルートディレクトリで、前提条件で説明されているプロジェクトトークンを含む
QODANA_TOKEN変数を宣言します。QODANA_TOKEN=<cloud-project-token>set QODANA_TOKEN=<cloud-project-token>Qodana をネイティブモードで実行するには、次のコマンドを使用します。
qodana scan \ --linter <linter-name> \ --within-docker falseqodana scan ^ --linter <linter-name> ^ --within-docker falseこのコマンドでは、
--linterオプションは Qodana に呼び出すべきリンターを指示します。--within-docker falseオプションは Qodana にネイティブモードを有効にするよう指示します。これらのオプションは、Qodana リンターを実行しながら、必要な JetBrains IDE バイナリファイルをダウンロードして使用するよう Qodana に指示します。Qodana をコンテナーモードで実行するには、以下のコマンドを使用します。
qodana scanqodana scan
このセクションでは、前提条件の章で推奨されている事項をすでに適用済みであることを前提としています。
次のコマンドを実行してコードベースを分析します。
docker run \ -v <source-directory>/:/data/project/ \ -e QODANA_TOKEN="<cloud-project-token>" \ jetbrains/qodana-<image>ここで、
<source-directory>はプロジェクトのルートを指し、QODANA_TOKEN変数には前提条件で説明されているプロジェクトトークンが含まれています。分析結果を確認するには、Qodana クラウド(英語)アカウントにアクセスしてください。
CI/CD を使用して Qodana を実行する
Azure Pipelines、CircleCI、GitHub Actions、GitLab CI/CD、TeamCity については、Qodana がネイティブソリューションを提供します。Bitbucket Cloud、Jenkins を使用して Qodana を実行するには、Docker イメージを使用できます。
GitHub アクションを使用して Qodana を設定および実行する方法を示す短いアニメーションを以下に示します。

前提条件の章に従ってすでにプロジェクトトークンを生成済みであることを前提として、以下の手順に従って Qodana をネイティブモードで実行するように構成してください。
GitHub UI のタブで、
QODANA_TOKEN暗号化シークレット(英語)を作成し、プロジェクトトークンをその値として保存します。https://qodana.cloud/以外の Qodana Cloud インスタンスを使用している場合は、QODANA_ENDPOINT環境変数を宣言して上書きしてください。GitHub UI のタブで、新しいワークフローを設定し、
.github/workflows/code_quality.ymlファイルを作成します。mainとmasterブランチ、およびリリースブランチとリポジトリに届くプルリクエストを分析するには、次のワークフロー構成を.github/workflows/code_quality.ymlファイルに保存します。name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' branch - master # The 'master' branch - 'releases/*' # The release branches jobs: qodana: runs-on: ubuntu-latest permissions: contents: write pull-requests: write checks: write steps: - uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit fetch-depth: 0 # a full history is required for pull request analysis - name: 'Qodana Scan' uses: JetBrains/qodana-action@v2026.1 with: args:| --linter <linter-name> --within-docker false env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}argsブロックでは、--linterオプションによって Qodana に呼び出すべきリンターが指示されます。--within-docker falseオプションは Qodana にネイティブモードを有効にするよう指示します。これらのオプションは、Qodana リンターを実行しながら、必要な JetBrains IDE バイナリファイルをダウンロードして使用するよう Qodana に指示します。name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' branch - master # The 'master' branch - 'releases/*' # The release branches jobs: qodana: runs-on: ubuntu-latest permissions: contents: write pull-requests: write checks: write steps: - uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit fetch-depth: 0 # a full history is required for pull request analysis - name: 'Qodana Scan' uses: JetBrains/qodana-action@v2026.1 env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
Qodana を Gradle のプラグインとして実行する
Gradle Qodana プラグイン(英語)は、Qodana によって提供されるコードインスペクションを実行するための Gradle インターフェースを提供します。まず、Gradle 構成ファイル内の Gradle プラグイン org.jetbrains.qodana を適用します。
build.gradle 構成ファイルに以下を追加します。
build.gradle.kts 構成ファイルに以下を追加します。
qodana { } 拡張構成
qodana { } トップレベル構成クロージャでの構成に使用できるプロパティ:
名前 | 説明 | タイプ | デフォルト値 |
|---|---|---|---|
| 分析するプロジェクトフォルダーへのパス。 |
|
|
| タスクの結果を保存するディレクトリへのパス。 |
|
|
| 生成されたレポートを保存するディレクトリへのパス。 |
|
|
Gradle Qodana タスク
qodanaScan
プロジェクトディレクトリで Qodana を起動します。
このタスクは、qodana { } 拡張構成に依存します。ただし、提供されている arguments によっても制御されます。
サンプル
これを Gradle 構成ファイルに追加します。
Groovy –
build.gradleplugins { // applies Gradle Qodana plugin to use it in project id "org.jetbrains.qodana" version "..." } qodana { // by default result path is $projectPath/build/results resultsPath = "some/output/path" } qodanaScan { arguments = ["--fail-threshold", "0"] }Kotlin –
build.gradle.ktsplugins { // applies Gradle Qodana plugin to use it in a project id("org.jetbrains.qodana") version "..." } qodana { // by default, the result path is $projectPath/build/results resultsPath.set("some/output/path") } qodanaScan { resultsPath.set("some/output/path") arguments.set(listOf("--fail-threshold", "0")) }
これで、qodanaScan Gradle タスクを使用して分析を実行できます。
arguments パラメーターのオプションと構成に関する完全なガイドは、Qodana CLI ドキュメントページ(英語)にあります。
次のステップ
関連ページ:
導入
Qodana を使用すると、コードインスペクションワークフローを大幅に強化できます。ゴールをより適切に達成するには、すぐに利用できるいくつかの機能を使い始めたい場合があります。コードの静的解析 Qodana にコードベースを分析させて、改善のための推奨事項を入手しましょう。CommunityUltimateUltimate Plus すべてのリンターベースライン既存のコードの問題をいくつかのカテゴリにグループ化し、コードの進化を効率的に監視します CommunityUltimateUltimate P...
組織
組織は、Qodana クラウドのすべてのエンティティのトップレベルの構造を提供します。すべての組織は、特定の JetBrains アカウントに基づいて作成されます。選択に応じて、プライベートまたはパブリックになります。Qodana Cloud のすべてのアカウントは、デフォルトの組織となる組織に基づいています。Qodana Cloud UI の左上にあるリストを使用して、組織間を移動できます。組織を作成する:プライベート組織またはパブリック組織を作成できます。プライベート組織に保存されたレポー...
プロジェクト
プロジェクトは Qodana レポートを蓄積します。各プロジェクトはプロジェクトトークンによって一意に識別されます。プロジェクトの作成:新しい組織を作成する際、Qodana Cloud は最初のプロジェクトの設定を支援するため、これらの手順は追加のプロジェクトを作成する場合にのみ関連します。チームページで、ボタンをクリックします。プロジェクトのセットアップ段階を完了します。この段階の詳細については、前提条件セクションを参照してください。プロジェクトを管理する:プロジェクトが作成された後、その...
JetBrains IDE
JetBrains Toolbox アプリ経由でインストールされた JetBrains IDE 製品(IntelliJ IDEA、PhpStorm、WebStorm、GoLand、PyCharm、Rider、CLion など)を使用して、Qodana を実行できます。IDE に応じて、利用可能な機能は以下のとおりです。Qodana をローカルで実行し、レポートを Qodana クラウドにアップロードする (CLion では利用できません)、Qodana クラウドに接続してレポートをダウンロードする...
GitHub アクション
Qodana Scan GitHub アクションを使用すると、GitHub リポジトリで Qodana を実行できます。プロジェクトを準備する:Qodana クラウドこのセクションのすべての構成例では、Qodana Cloud によって生成されたプロジェクトトークンを使用します。このトークンは、有料の Qodana リンターでは必須であり、コミュニティリンターで使用する場合はオプションです。Qodana Cloud UI でプロジェクトトークンを生成する方法については、次のセクションを参照してく...
Java、Kotlin、Groovy
すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。Java プロジェクトを分析するには、次のリンターを使用できます。リンター名 Docker イメージベースとなるもの IntelliJ IDEA Ultimate ライセンスに基づいて利用可能 Ultimate および Ultimate Plus ライセンス発送方法ネイティブソリューションと Docker イメージサポートされる言語 Java、Kotlin、Groovy、...
