Qodana 2026.1 ヘルプ

Rust

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

特性

説明

リンター名

qodana-rust

Docker イメージ

jetbrains/qodana-rust:2026.1-eap

ベースとなるもの

RustRover

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

Ultimate および Ultimate Plus ライセンス

発送方法

Docker イメージ

サポートされる言語

Rust

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

始める前に

プロジェクトの依存関係をインストールする

プロジェクトに外部依存関係がある場合は、 qodana.yaml ファイルの bootstrap キーを使用して設定できます。例:

bootstrap: rustup toolchain install nightly

コマンドは分析前に自動的に実行されます。

Qodana クラウド

Rust リンター用の 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(英語) ページの指示に従ってください。

このコマンドを実行して、Qodana の Docker イメージをプルします。

docker pull jetbrains/qodana-rust:2026.1-eap

Qodana の実行

利用可能な Docker イメージを使用して Qodana を実行できます。

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: args: --linter qodana-rust env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}

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

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

pipeline { environment { QODANA_TOKEN=credentials('qodana-token') } agent { docker { args ''' -v "${WORKSPACE}":/data/project --entrypoint="" ''' image 'jetbrains/qodana-rust:2026.1-eap' } } 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: image: jetbrains/qodana-rust:2026.1-eap

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

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

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

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

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

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

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

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

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

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

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

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

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

      ここで、Rust リンターの Qodana を選択します。

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

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

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

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

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

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

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

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

qodana scan \    -e QODANA_TOKEN="<qodana-cloud-token>" \    --linter qodana-rust
docker run \    -v <source-directory>/:/data/project/ \    -e QODANA_TOKEN="<cloud-project-token>" \    jetbrains/qodana-rust:2026.1-eap

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

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

分析レポートを参照する

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

  1. RustRover で、ツール | 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 パイプラインでの実行に適しており、主にデフォルトの RustRover プロファイルを実装しています。詳細については、RustRover のドキュメントを参照してください。

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

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

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

このスニペットを、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: args: | --baseline <path/to/qodana.sarif.json> --linter qodana-rust 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="" ''' image 'jetbrains/qodana-rust:2026.1-eap' } } 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: image: jetbrains/qodana-rust:2026.1-eap
  1. TeamCity UI で、Qodana を実行するビルドの構成ページに移動します。

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

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

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

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

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

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

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

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

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

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

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

      ここで、Rust リンターの 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>" \     --linter qodana-rust \     --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>" \     jetbrains/qodana-rust:2026.1-eap \     --baseline /data/base/<path-relative-to-project-dir>/qodana.sarif.json
  1. RustRover で、問題ツールウィンドウに移動します。

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

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

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

品質ゲートの有効化

品質ゲートは以下に対して設定できます。

このスニペットを 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 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-rust 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: image: jetbrains/qodana-rust:2026.1-eap

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

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

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

qodana scan \    -e QODANA_TOKEN="<cloud-project-token>" \    --linter qodana-rust \    --diff-start=<GIT_START_HASH>
docker run \    -v $(pwd):/data/project/ \    -e QODANA_TOKEN="<cloud-project-token>" \    jetbrains/qodana-rust:2026.1-eap \    --diff-start=<GIT_START_HASH>

設定タイムアウトの設定

qd.rust.configuration.timeout.minutes プロパティを使用すると、構成ステージのタイムアウトを設定できます。例:

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-rust --property qd.rust.configuration.timeout.minutes=10 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: image: jetbrains/qodana-rust:2026.1-eap args: --property qd.rust.configuration.timeout.minutes=10
qodana scan \    -e QODANA_TOKEN="<cloud-project-token>" \    --linter qodana-rust \    --property qd.rust.configuration.timeout.minutes=10
docker run \    -v $(pwd):/data/project/ \    -e QODANA_TOKEN="<cloud-project-token>" \    jetbrains/qodana-rust:2026.1-eap \    --property qd.rust.configuration.timeout.minutes=10

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

Rust リンター用の Qodana は、以下のテクノロジーに対してインスペクションを提供します。

プログラミング言語

Rust

マークアップ言語

Dockerfile

JSON

Markdown

TOML

XML

YAML

スクリプト言語

シェルスクリプト

その他

正規表現

Rust リンター用の Qodana は、次の Qodana 機能を提供します。

機能

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

ベースライン

Ultimate と Ultimate Plus

クオリティゲート

Ultimate と Ultimate Plus

インサイト

Ultimate Plus

シングルサインオン

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 ワークフローを実行し、その結果をインスペクションする、障害の処理、プルリク...