Qodana 2026.1 ヘルプ

Java、Kotlin、Groovy

すべての Qodana リンターは、特定のプログラミング言語とフレームワーク用に設計された JetBrains IDE に基づいています。Java プロジェクトを分析するには、次のリンターを使用できます。

特性

説明

リンター名

qodana-jvm

Docker イメージ

jetbrains/qodana-jvm:2026.1

ベースとなるもの

IntelliJ IDEA Ultimate

ライセンスに基づいて利用可能

Ultimate および Ultimate Plus ライセンス

発送方法

ネイティブソリューションと Docker イメージ

サポートされる言語

Java、Kotlin、Groovy、JavaScript、TypeScript

特性

説明

リンター名

qodana-android

Docker イメージ

jetbrains/qodana-android:2026.1

ベースとなるもの

IntelliJ IDEA Ultimate

ライセンスに基づいて利用可能

Ultimate および Ultimate Plus ライセンス

発送方法

Docker イメージ

サポートされる言語

Java、Kotlin、Groovy、JavaScript、TypeScript

特性

説明

リンター名

qodana-jvm-community

Docker イメージ

jetbrains/qodana-jvm-community:2026.1

ベースとなるもの

IntelliJ IDEA Community エディション

ライセンスに基づいて利用可能

コミュニティライセンス

発送方法

ネイティブソリューションと Docker イメージ

サポートされる言語

Java、Kotlin、Groovy

特性

説明

リンター名

qodana-jvm-android

Docker イメージ

jetbrains/qodana-jvm-android:2026.1

ベースとなるもの

IntelliJ IDEA Community エディション

ライセンスに基づいて利用可能

コミュニティライセンス

発送方法

Docker イメージ

サポートされる言語

Java、Kotlin、Groovy

サポートされているテクノロジーと機能のリストを表示するには、このセクションのサポートされているテクノロジーと機能の章に移動してください。

始める前に

Qodana クラウド

使用している特定のリンターに応じて、ライセンスを識別および検証するために Qodana が使用するプロジェクトトークンを取得する必要がある場合があります。これを行うには、次の手順に従います。

  1. Qodana クラウド(英語)に移動して、そこでアカウントを作成します。

  2. Qodana Cloud で、組織チームプロジェクトを作成します。

  3. プロジェクトカードには、このセクションで後で使用するプロジェクトトークンが記載されています。

ソフトウェアの準備

GitHub UI の設定タブで、QODANA_TOKEN 暗号化シークレット(英語)を作成し、その値としてプロジェクトトークンを保存します。

  1. Jenkins で、次のプラグインが稼働していることを確認します。

    Docker がインストールされており、Jenkins からアクセスできることを確認します。

    該当する場合は、Docker ドキュメントの Docker を非 root ユーザーとして管理する(英語)セクションの説明に従って、jenkins ユーザーが Docker にアクセスできることを確認してください。

  2. Jenkins で、qodana-token 資格情報(英語)を作成し、プロジェクトトークンをその値として保存します。

  3. Jenkins で、Jenkins ドキュメントポータル(英語)の説明に従ってマルチブランチパイプラインプロジェクトを作成します。

  1. プロジェクトリポジトリが GitLab CI/CD からアクセスできることを確認します。

  2. GitLab CI/CD で、 QODANA_TOKEN (英語) 変数を作成し、プロジェクトトークンをその値として保存します。

TeamCity で、プロジェクトビルド構成を作成します。

Qodana を実行するマシンに Docker をインストールします。

Linux を使用している場合は、現在の非 root ユーザー(英語)で Docker を実行できるはずです。

GitHub の Qodana CLI(英語) ページの指示に従ってください。

必要なリンターの Docker イメージをプルするには、次のコマンドを実行します。

docker pull <image>

ここで、image は次の Docker イメージのいずれかを指します。

Docker イメージ

説明

jetbrains/qodana-jvm:2026.1

JVM 用 Qodana

jetbrains/qodana-jvm-community:2026.1

JVM の Qodana コミュニティ

jetbrains/qodana-jvm-android:2026.1

Android のための Qodana コミュニティ

jetbrains/qodana-android:2026.1

Android 用 Qodana

K2 モード

K2 モードは、Qodana for JVM および Qodana Community for JVM リンターに対してデフォルトで有効になっています。

K2 モードを元に戻すには、リンター設定で idea.kotlin.plugin.use.k2 プロパティfalse に設定します。

JDK の設定

プロジェクトで Gradle を使用している場合は、プロジェクト用に JDK のバージョンが正しく設定されていることを確認してください。

デフォルトのバージョン

次の表は、Qodana によってデフォルトで使用される JDK バージョンを示しています。

リンター

JDK バージョン

JVM 用 Qodana

JBR SDK 25(英語)

JVM の Qodana コミュニティ

JBR SDK 25(英語)

Android のための Qodana コミュニティ

Amazon Corretto 11(英語)

Android 用 Qodana

Amazon Corretto 11(英語)

JDK のデフォルトバージョンを使用する場合、特別な構成は必要ありません。

利用可能なバージョン

デフォルトで使用できるバージョンとは別に、Qodana はすべての JVM リンターに対して JBR SDK の次のバージョンを自動的にダウンロードして使用できます: 8、11、13、15、16、17、18、19、21。

それ以外の場合は、必要な JDK バージョンをダウンロードして Qodana にマウントできます。

Qodana の設定

qodana.yaml ファイルでは、projectJDK オプションを使用して JDK バージョンを指定できます。例:

projectJDK: 11

または:

projectJDK: 1.8

次の名前を使用して JDK を指定することもできます。

projectJDK: corretto-19

ここで利用可能なバージョンのリストから任意の JDK を指定すると、Qodana によって自動的にダウンロードされます。このリスト以外の JDK を使用したい場合は、JDK をダウンロードして Qodana にマウントする必要があります。

Gradle

Gradle は互換性マトリックス(英語)に基づいてスクリプトを実行します。つまり、サポートされダウンロード可能な最新の JDK バージョンが Gradle JDK として設定されます。互換性マトリックスと使用可能な JDK バージョンのリストを組み合わせて使用すると、Qodana で使用される JDK を見つけることができます。例: Qodana は、Gradle 6.6 で JDK 13 をダウンロードして使用します。

Maven

Maven では、Java コンパイラーのソースバージョンとターゲット(英語)バージョンを構成できます。Qodana はこれらの値を比較し、最新バージョンを選択します。次に、このバージョンの JDK が使用可能なバージョンのリスト内で検索されます。見つかった場合、Qodana はそれをダウンロードして使用します。それ以外の場合、Qodana はこのリストから後続のバージョンをダウンロードします。

JDK をマウントする

JDK をローカルファイルシステムから Qodana Docker イメージの /root/.jdks フォルダーにマウントできます。

$ docker run -v /path/to/jdk:/root/.jdks/jdk \ jetbrains/qodana-<linter>

Qodana の実行

次の方法を使用して Qodana リンターを実行できます。

Qodana Scan GitHub アクション(英語)を使用して Qodana を実行できます。

main、ブランチ、リリースブランチ、リポジトリに届くプルリクエストをネイティブモードで分析するには、次のワークフロー構成を .github/workflows/code_quality.yml ファイルに保存します。

name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' 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 qodana-<jvm|android><-community|-android> --within-docker false env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

この設定では、--linter オプションを使用してリンターを指定します。false 状態の --within-docker オプションは、ネイティブモードを有効にするために使用されます。

プライベート Maven リポジトリへのアクセスを管理するには、次の手順を実行します。

  1. プライベート Maven リポジトリの資格情報への参照を含む settings.xml ファイルを作成します。例:

    <servers> <server> <id>my-secret-repository</id> <username>${env.REPOSITORY_USERNAME}</username> <password>${env.REPOSITORY_PASSWORD}</password> </server> </servers>
  2. GitHub アクション構成で、~/.m2/ ディレクトリを作成し、そこに settings.xml ファイルをコピーします。例:

    - uses: actions/setup-java@v4 with: settings-path: ${{ github.workspace }} - name: Place Maven settings.xml where Qodana expects it run: | mkdir -p ~/.m2 cp "${{ github.workspace }}/settings.xml" ~/.m2/settings.xml
  3. GitHub アクション構成で、資格情報の値を環境変数にエクスポートします。例:

    - name: Qodana Scan uses: JetBrains/qodana-action@v2026.1 env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }} REPOSITORY_USERNAME: ${{ secrets.REPOSITORY_USERNAME }} REPOSITORY_PASSWORD: ${{ secrets.REPOSITORY_PASSWORD }}

さらなる構成例については、GitHub アクションセクションを参照してください。

プロジェクトのルートディレクトリで次のコマンドを実行します。

qodana scan \    -e QODANA_TOKEN="<qodana-cloud-token>" \    --linter qodana-<jvm|android><-community|-android> \    --within-docker false

この設定では、--linter オプションを使用してリンターを指定します。false 状態の --within-docker オプションは、ネイティブモードを有効にするために使用されます。

https://qodana.cloud/ 以外の Qodana Cloud インスタンスを使用している場合は、QODANA_ENDPOINT 環境変数を宣言して上書きします。

ブラウザーで Qodana クラウド(英語)を開き、分析レポートを確認して分析を再設定してください。詳細については、ドキュメントの分析レポートのセクションを参照してください。

Docker モードはすべてのリンターで利用可能ですが、可能な限りネイティブモードを使用することをお勧めします。

main ブランチ、リリースブランチ、Docker モードでリポジトリに届くプルリクエストを分析するには、このワークフロー構成を .github/workflows/code_quality.yml ファイルに保存します。

name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' 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: # Uncomment the linter that you wish to use # args: --linter qodana-jvm # args: --linter qodana-jvm-community # args: --linter qodana-jvm-android # args: --linter qodana-android env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

さらなる構成例については、GitHub アクションセクションを参照してください。

この構成を Jenkinsfile に保存します。

pipeline { environment { QODANA_TOKEN=credentials('qodana-token') } agent { docker { args ''' -v "${WORKSPACE}":/data/project --entrypoint="" ''' // Uncomment the image that you would like to employ // image 'jetbrains/qodana-jvm:2026.1' // Qodana for JVM // image 'jetbrains/qodana-jvm-community:2026.1' // Qodana Community for JVM // image 'jetbrains/qodana-jvm-android:2026.1' // Qodana Community for Android // image 'jetbrains/qodana-android:2026.1' // Qodana for Android } } stages { stage('Qodana') { steps { sh '''qodana''' } } } }

さらなる構成例については、Jenkins セクションを参照してください。

これは、Linux 上で Qodana を実行する例です。その他の例は、GitLab CI/CD のセクションに掲載されています。

プロジェクトのルートディレクトリで、このスニペットを .gitlab-ci.yml ファイルに保存します。

include: - component: $CI_SERVER_FQDN/qodana/qodana/qodana-gitlab-ci@v2026.1 inputs: # Uncomment the linter that you would like to employ # image: jetbrains/qodana-jvm:2026.1 # Qodana for JVM # image: jetbrains/qodana-jvm-community:2026.1 # Qodana Community for JVM # image: jetbrains/qodana-jvm-android:2026.1 # Qodana Community for Android # image: jetbrains/qodana-android:2026.1 # Qodana for Android

さらなる構成例については、GitLab CI/CD セクションを参照してください。

  1. TeamCity UI で、Qodana を実行するビルドの構成ページに移動します。

  2. ビルド設定ページで、ビルドステップページに移動します。

  3. ビルドステップページで、ビルドステップを追加ボタンをクリックしてください。

  4. 開いたページで、Qodana ランナーを選択します。

  5. 新しいビルドステップ: Qodana ページで、高度なオプションを表示をクリックし、Qodana ランナーを構成します。

    • ステップ名は、他のビルドステップの中でこのステップを一意に識別します。

    • ステップ ID は、他のビルドステップの中でこのステップを一意に識別します。

    • ステップ実行は、このビルドステップをトリガーするビルド条件を構成します。

    • 作業ディレクトリはビルドプロセスのディレクトリを設定します。詳細については、TeamCity のドキュメントを参照してください。バージョン管理設定タブで Checkout directory パラメーターが指定されている場合は、このフィールドを空のままにすることができます。

    • レポート ID はレポートを一意に識別し、単一のビルド内で複数の分析ステップが構成されている場合に複数のレポートを区別できるようにします。

    • レポートを TeamCity テストに転送するチェックボックスは、TeamCity UI の「テスト」タブで Qodana レポートの可用性を構成します。このオプションを使用すると、検出された他の問題とともにコードベースの問題を表示できます。

    • リンターQodana リンターを構成します。

      ここで、JVM 用の Qodana、JVM 用の Qodana コミュニティ、または Android リンター用の Qodana コミュニティのいずれかを選択します。

    • バージョンはデフォルトで Latest に設定されています。

    • インスペクションプロファイル:インスペクションプロファイルを定義します:

    • クラウドトークンは、Qodana Cloud で生成されたプロジェクトトークンを構成します。

    • 追加の Docker 引数は、Docker イメージによって受け入れられる引数を設定します。詳細については、構成オプションセクションを参照してください。

    • 追加の Qodana 引数を使用すると、デフォルトの Qodana 機能を拡張できます。詳細については、オプションの種類セクションを参照してください。

    • Qodana CLI バージョンでは、使用する Qodana CLI(英語) バージョンを指定できます。

    Configuring the Qodana runner
  6. 保存ボタンをクリックしてください。

さらなる構成例については、TeamCity セクションを参照してください。

qodana scan \    -e QODANA_TOKEN="<qodana-cloud-token>" \ # Uncomment the image that you would like to employ # --linter qodana-jvm # Qodana for JVM # --linter qodana-jvm-community # Qodana Community for JVM # --linter qodana-jvm-android # Qodana Community for Android # --linter qodana-android # Qodana for Android
docker run \    -v <source-directory>/:/data/project/ \    -e QODANA_TOKEN="<cloud-project-token>" \ # Uncomment the image that you would like to employ # jetbrains/qodana-jvm:2026.1 # Qodana for JVM # jetbrains/qodana-jvm-community:2026.1 # Qodana Community for JVM # jetbrains/qodana-jvm-android:2026.1 # Qodana Community for Android # jetbrains/qodana-android:2026.1 # Qodana for Android

https://qodana.cloud/ 以外の Qodana Cloud インスタンスを使用している場合は、QODANA_ENDPOINT 環境変数を宣言してそれを上書きします。

ブラウザーで Qodana クラウド(英語)を開き、分析レポートを確認して分析を再設定してください。詳細については、ドキュメントの分析レポートのセクションを参照してください。

  1. IntelliJ IDEA Ultimate で、ツール | Qodana | Qodana でコード解析を試すに移動します。

  2. Qodana の実行ダイアログでは、Qodana を設定できます。

    Configuring Qodana in the Run Qodana dialog

    このダイアログには次のコンポーネントが含まれています。

    名前

    説明

    qodana.yaml ファイル

    テキストフィールドでは、このファイルで Qodana が使用するコード分析を設定できます。利用可能な設定オプションの詳細について

    分析結果を Qodana クラウドに送信するオプション

    Qodana Cloud にレポートを送信する場合は、このオプションをチェックし、Qodana クラウドで生成されたプロジェクトトークンを貼り付けてください。

    qodana.yaml をプロジェクトルートに保存するオプション

    このオプションをチェックすると、このダイアログで作成した Qodana 設定をプロジェクトのプロジェクトルートの qodana.yaml ファイルに保存できます。

    Qodana 解析ベースラインの使用オプション

    ベースライン機能を使用すると、特定の問題の分析をスキップできます

    実行をクリックしてコードを分析してください。

  3. 問題ツールウィンドウの Qodana タブで、分析レポートを参照してください。

分析レポートを参照する

以下に説明するように、Qodana Cloud から最新の Qodana レポートを IntelliJ IDEA Ultimate にロードできます。

  1. IntelliJ IDEA Ultimate で、ツール | Qodana | Qodana にログインに移動します。

  2. 設定ダイアログで、ログインをクリックします。

    Connecting to Qodana Cloud

    これにより、認証ページにリダイレクトされます。

  3. ローカルプロジェクトをリンクする Qodana クラウドプロジェクトを選択します。

    Linking the project to Qodana Cloud
  4. 常に最も関連性の高い Qodana レポートをロードするオプションをチェックすると、Qodana クラウドから最も実際的で関連性の高いレポートを受け取ることができます。

    Enabling to load the most relevant reports

    この場合、IDE は Qodana Cloud を検索し、現在のリビジョン ID (HEAD) に対応するリビジョン ID を持つレポートを取得します。このレポートが見つからない場合、IDE は現在のリビジョン ID (HEAD) に最も近いリビジョン ID を持つ以前のレポートを選択します。それ以外の場合、IDE は Qodana Cloud から利用可能な最新のレポートを取得します。

  5. 問題ツールウィンドウの Qodana タブで、分析レポートを参照してください。

Qodana がプロジェクトを分析し、分析レポートを Qodana クラウドにアップロードした後、Qodana クラウド(英語)でプロジェクトに移動し、分析レポートを確認してください。

Analysis report example

Qodana レポート UI の詳細については、「分析レポート」セクションを参照してください。

Qodana 構成を拡張

分析範囲の調整

Qodana は、GitHub(英語) でホストされる 2 つの定義済みプロファイルをすぐに使用できます。

  • qodana.starter はデフォルトのプロファイルであり、より包括的な qodana.recommended プロファイルのサブセットです。

  • qodana.recommended は CI/CD パイプラインでの実行に適しており、主にデフォルトの IntelliJ IDEA Ultimate プロファイルを実装しています。詳細については、IntelliJ IDEA Ultimate のドキュメントを参照してください。

YAML および XML 形式の構成を使用して、Qodana プロファイルをカスタマイズできます。

ベースライン機能を有効にする

ベースライン機能を使用すると、特定の問題の分析をスキップできます。ベースラインに関する情報は、SARIF 形式のファイルに含まれています。

SARIF 形式のベースラインファイルへのパスを指定する --baseline オプションを含む .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: | --baseline <path/to/qodana.sarif.json> --linter qodana-<jvm|android><-community|-android> --within-docker false env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

ベースラインを含む SARIF 形式のファイルへのパスを指定するには、--baseline オプションを使用してプロジェクトルートディレクトリでこのコマンドを実行します。

qodana scan \    -e QODANA_TOKEN="<cloud-project-token>" \    --linter qodana-<jvm|android><-community|-android> \    --within-docker false \    --baseline <path/to/qodana.sarif.json>

ブラウザーで Qodana クラウド(英語)を開き、分析レポートを確認して分析を再設定してください。詳細については、ドキュメントの分析レポートのセクションを参照してください。

このスニペットを、SARIF 形式のベースラインファイルへのパスを指定する args: --baseline qodana.sarif.json オプションを含む .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: # Uncomment the linter that you wish to use # args: --baseline <path/to/qodana.sarif.json> --linter qodana-jvm # args: --baseline <path/to/qodana.sarif.json> --linter qodana-jvm-community # args: --baseline <path/to/qodana.sarif.json> --linter qodana-jvm-android # args: --baseline <path/to/qodana.sarif.json> --linter qodana-android env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

Jenkinsfile で、SARIF 形式のベースラインファイルへのパスを指定する --baseline <path/to/qodana.sarif.json> 行を含む構成を保存します。

pipeline { environment { QODANA_TOKEN=credentials('qodana-token') } agent { docker { args ''' -v "${WORKSPACE}":/data/project --entrypoint="" ''' // Uncomment the linter you would like to employ // image 'jetbrains/qodana-jvm:2026.1' // Qodana for JVM // image 'jetbrains/qodana-jvm-community:2026.1' // Qodana Community for JVM // image 'jetbrains/qodana-jvm-android:2026.1' // Qodana Community for Android // image 'jetbrains/qodana-android:2026.1' // Qodana for Android } } stages { stage('Qodana') { steps { sh ''' qodana \ --baseline <path/to/qodana.sarif.json> ''' } } } }

これは、Linux 上で Qodana を実行する例です。その他の例は、GitLab CI/CD のセクションに掲載されています。

プロジェクトのルートディレクトリで、このスニペットを .gitlab-ci.yml ファイルに保存し、使用するリンターのコメントを解除します。

include: - component: $CI_SERVER_FQDN/qodana/qodana/qodana-gitlab-ci@v2026.1 inputs: # Uncomment the linter you would like to employ # image: jetbrains/qodana-jvm:2026.1 # Qodana for JVM # image: jetbrains/qodana-jvm-community:2026.1 # Qodana Community for JVM # image: jetbrains/qodana-jvm-android:2026.1 # Qodana Community for Android # image: jetbrains/qodana-android:2026.1 # Qodana for Android
  1. TeamCity UI で、Qodana を実行するビルドの構成ページに移動します。

  2. ビルド設定ページで、ビルドステップページに移動します。

  3. ビルドステップページで、ビルドステップを追加ボタンをクリックしてください。

  4. 開いたページで、Qodana ランナーを選択します。

  5. 新しいビルドステップ: Qodana ページで、高度なオプションを表示をクリックし、Qodana ランナーを構成します。

    • ステップ名は、他のビルドステップの中でこのステップを一意に識別します。

    • ステップ ID は、他のビルドステップの中でこのステップを一意に識別します。

    • ステップ実行は、このビルドステップをトリガーするビルド条件を構成します。

    • 作業ディレクトリはビルドプロセスのディレクトリを設定します。詳細については、TeamCity のドキュメントを参照してください。バージョン管理設定タブで Checkout directory パラメーターが指定されている場合は、このフィールドを空のままにすることができます。

    • レポート ID はレポートを一意に識別し、単一のビルド内で複数の分析ステップが構成されている場合に複数のレポートを区別できるようにします。

    • レポートを TeamCity テストに転送するチェックボックスは、TeamCity UI の「テスト」タブで Qodana レポートの可用性を構成します。このオプションを使用すると、検出された他の問題とともにコードベースの問題を表示できます。

    • リンターQodana リンターを構成します。

      ここで、JVM 用の Qodana、JVM 用の Qodana コミュニティ、または Android リンター用の Qodana コミュニティのいずれかを選択します。

    • バージョンはデフォルトで Latest に設定されています。

    • インスペクションプロファイル:インスペクションプロファイルを定義します:

    • クラウドトークンは、Qodana Cloud で生成されたプロジェクトトークンを構成します。

    • 追加の Docker 引数は、Docker イメージによって受け入れられる引数を設定します。詳細については、構成オプションセクションを参照してください。

    • 追加の Qodana 引数を使用すると、デフォルトの Qodana 機能を拡張できます。詳細については、オプションの種類セクションを参照してください。

      このフィールドでは、--baseline <path/to/qodana.sarif.json> オプションを使用してベースラインフィーチャを指定します。

    • Qodana CLI バージョンでは、使用する Qodana CLI(英語) バージョンを指定できます。

    Configuring the Qodana runner
  6. 保存ボタンをクリックしてください。

コマンドラインからベースライン機能を実行する方法を選択します。

qodana scan \     -v <path_to_baseline>:/data/base/ \     -e QODANA_TOKEN="<cloud-project-token>" \     # Uncomment the linter you would like to employ     # --linter qodana-jvm \ # Qodana for JVM     # --linter qodana-jvm-community \ # Qodana Community for JVM     # --linter qodana-jvm-android \ # Qodana Community for Android     # --linter qodana-android \ # Qodana for Android     --within-docker true     --baseline /data/base/<path-relative-to-project-dir>/qodana.sarif.json
docker run \     -v <source-directory>/:/data/project/ \     -v <path_to_baseline>:/data/base/ \     -e QODANA_TOKEN="<cloud-project-token>" \     # Uncomment the linter you would like to employ     # jetbrains/qodana-jvm:2026.1 \ # Qodana for JVM     # jetbrains/qodana-jvm-community:2026.1 \ # Qodana Community for JVM     # jetbrains/qodana-jvm-android:2026.1 \ # Qodana Community for Android     # jetbrains/qodana-android:2026.1 \ # Qodana for Android     --baseline /data/base/<path-relative-to-project-dir>/qodana.sarif.json
  1. IntelliJ IDEA Ultimate で、問題ツールウィンドウに移動します。

  2. 問題ツールウィンドウで、Qodana タブをクリックします。

  3. Qodana タブで、ローカルで試すボタンをクリックします。

  4. 開いたダイアログで、詳細な構成セクションを展開し、ベースラインファイルへのパスを指定して、実行をクリックします。

品質ゲートの有効化

リンターに応じてでは、以下の品質ゲートを設定できます。

  • すべてのリンターで利用可能なプロジェクトの問題の総数

  • 問題の重大度に応じた複数の品質ゲートがすべてのリンターで利用可能

  • コードカバレッジしきい値は、JVM の Qodana と Android リンターの Qodana で使用できます。

次のスニペットを qodana.yaml ファイルに保存することで、プロジェクトの問題の総数、特定の問題の重大度、コードカバレッジに対して品質ゲートを構成できます。

failureConditions:   severityThresholds:     any: 50 # Total number of problems in all severities     critical: 1 # Severities     high: 2     moderate: 3     low: 4     info: 5   testCoverageThresholds:     fresh: 6 # Fresh code coverage     total: 7 # Total percentage

次のスニペットを qodana.yaml ファイルに保存することで、プロジェクトの問題の総数と特定の問題の重大度に対して品質ゲートを構成できます。

failureConditions:   severityThresholds:     any: 50 # Total number of problems in all severities     critical: 1 # Severities     high: 2     moderate: 3     low: 4     info: 5

プルリクエストの分析

Qodana Scan GitHub アクション(英語)はすべてのプルリクエストを自動的に分析するため、追加の構成を指定する必要はありません。この構成を .github/workflows/code_quality.yml ファイルに保存します。

name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' 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 qodana-<jvm|android><-community|-android> --within-docker false env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

コードの変更を分析するには、--diff-start オプションを使用し、比較のベースとなるコミットのハッシュを指定します。

qodana scan \    -e QODANA_TOKEN="<qodana-cloud-token>" \    --linter qodana-<jvm|android><-community|-android> \    --within-docker false \    --diff-start=<GIT_START_HASH>

ブラウザーで Qodana クラウド(英語)を開き、分析レポートを確認して分析を再設定してください。詳細については、ドキュメントの分析レポートのセクションを参照してください。

Qodana Scan GitHub アクション(英語)はすべてのプルリクエストを自動的に分析するため、追加の構成を指定する必要はありません。この構成を .github/workflows/code_quality.yml ファイルに保存します。

name: Qodana on: workflow_dispatch: pull_request: push: branches: # Specify your branches here - main # The 'main' 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: # Uncomment the linter that you wish to use # args: --linter qodana-jvm # Qodana for JVM # args: --linter qodana-jvm-community # Qodana Community for JVM # args: --linter qodana-jvm-android # Qodana Community for Android # args: --linter qodana-android # Qodana for Android env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

これは、Linux 上で Qodana を実行する例です。その他の例は、GitLab CI/CD のセクションに掲載されています。

プロジェクトのルートディレクトリに、次のスニペットを含む .gitlab-ci.yml ファイルを保存します。

include: - component: $CI_SERVER_FQDN/qodana/qodana/qodana-gitlab-ci@v2026.1 inputs: # Uncomment the Docker image that you wish to use # image: jetbrains/qodana-jvm:2026.1 # Qodana for JVM # image: jetbrains/qodana-jvm-community:2026.1 # Qodana Community for JVM # image: jetbrains/qodana-jvm-android:2026.1 # Qodana Community for Android # image: jetbrains/qodana-android:2026.1 # Qodana for Android

この構成により、マージリクエスト分析が可能になります。

プルリクエストとマージリクエストを分析するための TeamCity の構成に関する情報は、TeamCity ドキュメントポータルで入手できます。

コードの変更を分析するには、--diff-start オプションを使用し、比較のベースとなるコミットのハッシュを指定します。

qodana scan \    -e QODANA_TOKEN="<cloud-project-token>" \     # Uncomment the linter that you wish to use     # --linter qodana-jvm \ # Qodana for JVM     # --linter qodana-jvm-community \ # Qodana Community for JVM     # --linter qodana-jvm-android \ # Qodana Community for Android     # --linter qodana-android \ # Qodana for Android    --diff-start=<GIT_START_HASH>
docker run \    -v $(pwd):/data/project/ \    -e QODANA_TOKEN="<cloud-project-token>" \     # Uncomment the Docker image that you wish to use     # jetbrains/qodana-jvm:2026.1 \ # Qodana for JVM     # jetbrains/qodana-jvm-community:2026.1 \ # Qodana Community for JVM     # jetbrains/qodana-jvm-android:2026.1 \ # Qodana Community for Android     # jetbrains/qodana-android:2026.1 \ # Qodana for Android    --diff-start=<GIT_START_HASH>

サポートされているテクノロジーと機能

へのサポート

名前

JVM の場合は Qodana、Android の場合は Qodana

JVM の Qodana コミュニティ

Android のための Qodana コミュニティ

プログラミング言語

Java

Kotlin

Groovy

JavaScript and TypeScript

フレームワークおよびライブラリ

JavaBeans

JUnit

Lombok

TestNG

JPA

Reactive Streams

JavaFX

Java EE

JAX-RS

JSP

Spring

Node.js

React

Ktor

Vue

Apache Velocity

Android ルーム

データベースと ORM

Hibernate ORM

MongoDB

Oracle

MySQL

PostgreSQL

SQL

SQL サーバー

マークアップ言語

CSS

FreeMarker

HTML

JSON および JSON5

RELAX NG

XML

XPath

XSLT

YAML

TOML

Less

SASS/SCSS

PostCSS

JSONPath

スクリプト言語

シェルスクリプト

式言語 (EL)

ビルド管理

Gradle

Maven

その他

正規表現

構造検索

HTTP クライアント

Qodana の機能

ベースライン

クオリティゲート

コードカバレッジ

FlexInspect

インサイト *

ライセンス監査 *

クイックフィックス

シングルサインオン *

脆弱性チェッカー *

汚染分析 **

* Ultimate Plus ライセンスでのみ利用可能です。

** JVM リンターは Qodana のみでサポートされます。Ultimate Plus ライセンスでのみ利用可能です。

2026 年 6 月 02 日

関連ページ:

Qodana のエディション

ニーズに応じて、次の表に示す適切なライセンスを選択できます。Community フリー孤立した問題の解決に最適 Ultimate 詳細については、サブスクリプションのオプションと価格を参照してくださいさまざまなビジネスタスクを解決するために設計されています。試用版をご利用いただけます。Ultimate Plus 詳細については、サブスクリプションのオプションと価格を参照してください Ultimate ライセンスと同じ機能がすべて含まれていますが、追加機能と無制限の履歴データストレージも含まれています。試用...

クイックスタート

Qodana Cloud の使用を開始するには、Qodana クラウド Web サイトに移動してください。JetBrains アカウントで続行するボタンをクリックして JetBrains アカウントを作成し、Qodana クラウドにログインできます。未登録ユーザーの場合は、Qodana によってすでに分析されたデモプロジェクトを調べることができます。レポートを詳しく調べるには、レポートセクションを参照してください。Qodana Cloud に初めてログインすると、組織、チーム、プロジェクトを作成す...

組織

組織は、Qodana クラウドのすべてのエンティティのトップレベルの構造を提供します。すべての組織は、特定の JetBrains アカウントに基づいて作成されます。選択に応じて、プライベートまたはパブリックになります。Qodana Cloud のすべてのアカウントは、デフォルトの組織となる組織に基づいています。Qodana Cloud UI の左上にあるリストを使用して、組織間を移動できます。組織を作成する:プライベート組織またはパブリック組織を作成できます。プライベート組織に保存されたレポー...

チーム

チームは、特定のプロジェクトを蓄積する組織の一部です。チームを使用すると、Qodana クラウドの専用プロジェクトごとにユーザーをグループ化できます。チームを作成する:プロジェクト設定段階で、Qodana Cloud はチームの作成を支援するため、この手順は追加のチームを作成する場合にのみ必要です。組織ページで、「」をクリックします。これにより、ダイアログが開きます。ダイアログで、チーム名と可視性を指定して、をクリックします。チームを移動する:組織ページでチームのタイルをクリックするか、左側...

プロジェクト

プロジェクトは Qodana レポートを蓄積します。各プロジェクトはプロジェクトトークンによって一意に識別されます。プロジェクトの作成:新しい組織を作成する際、Qodana Cloud は最初のプロジェクトの設定を支援するため、これらの手順は追加のプロジェクトを作成する場合にのみ関連します。チームページで、ボタンをクリックします。プロジェクトのセットアップ段階を完了します。この段階の詳細については、前提条件セクションを参照してください。プロジェクトを管理する:プロジェクトが作成された後、その...

最初のビルドを構成して実行する

このチュートリアルでは、TeamCity の基本機能について説明し、一般的なプロジェクトの設定方法を示します。このガイドの最後には、Gradle を使用してサンプル Java アプリケーションをビルドおよびテストするワークフローを作成します。このチュートリアルで取り上げるトピック: 基本的な TeamCity エンティティに慣れる、リモートリポジトリへのアクセス、パイプライン、ジョブ、ビルドステップの操作、TeamCity ワークフローを実行し、その結果をインスペクションする、障害の処理、プルリク...