フォワードレポート
このセクションでは、このソフトウェアを使用して Qodana レポートを Qodana クラウドに転送する方法について説明します。
これらすべての場合において、このドキュメントのプロジェクトを管理するセクションに示されているように、一意の Qodana クラウドプロジェクトトークンを生成する必要があります。このトークンは、QODANA_TOKEN
変数を使用して呼び出されます。
Docker および Qodana CLI
Docker または Qodana CLI を使用して、Qodana レポートを Qodana クラウドに転送できます。
QODANA_TOKEN
の他に、いくつかの追加変数を指定する必要があります。
変数名 | 説明 |
---|---|
| プロジェクト URL |
| 分析されたブランチの名前 |
| コミットハッシュ |
| ジョブ URL |
これは、これらすべての変数を使用するコマンドです。
これらのツールを適用すると、必要なすべての変数の値を手動で指定する必要があることになりますが、これは不便です。幸いなことに、Qodana クラウドに必要なすべてのデータを提供する、または Qodana クラウドに必要なデータを参照する事前定義された環境変数を含むさまざまな CI/CD ソリューションを使用することで、この問題を克服できます。
Azure パイプライン
Azure Pipelines UI で、
QODANA_TOKEN
シークレット変数を作成し、プロジェクトトークンをその値として保存します。Azure パイプラインファイルで、
QODANA_TOKEN
変数をQodanaScan
タスクのenv
セクションに追加します。
Qodana Cloud に必要な残りの変数と値は、QodanaScan
によって自動的に生成されます。
Qodana と Azure パイプラインの統合の詳細については、このドキュメントの Azure パイプラインセクションを参照してください。
Bitbucket クラウド
以下は、Bitbucket クラウドパイプラインで Qodana を実行できるようにする bitbucket-pipelines.yml
ファイルの基本構成スニペットです。
ここで、branches
ブロックはどのブランチをインスペクションするかを指定します。
image
ブロックは、パイプラインで呼び出される Qodana リンターを指定します。
script
ブロックには、Qodana Cloud に必要なプロジェクトトークンを指定し、$QODANA_TOKEN
変数(英語)として保存される - export QODANA_TOKEN=$QODANA_TOKEN
行が含まれています。このブロックの - qodana ...
行は、パイプラインの実行中に使用するディレクトリを Bitbucket に指示し、Qodana オプションを含めることもできます。
Qodana と Bitbucket Cloud の統合の詳細については、このドキュメントの Bitbucket クラウドセクションを参照してください。
CircleCI
インスペクションの結果を Qodana クラウドに転送するには、QODANA_TOKEN
プロジェクト変数(英語)を作成し、プロジェクトトークンをその値として保存するだけです。
トークンが分析用に設定されると、すべての Qodana ジョブの結果が Qodana クラウドプロジェクトにアップロードされます。
Qodana と CircleCI の統合の詳細については、このドキュメントの CircleCI セクションを参照してください。
GitHub アクション
GitHub UI の
タブで、QODANA_TOKEN
暗号化シークレット(英語)を作成し、プロジェクトトークンをその値として保存します。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@v2024.1 env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
Qodana と GitHub の統合の詳細については、このドキュメントの GitHub アクションセクションを参照してください。
GitLab CI/CD
1. $qodana_token
変数(英語)を作成し、プロジェクトトークンをその値として保存します。
2. GitLab でホストされているプロジェクトのルートフォルダーに .gitlab-ci.yml
ファイルを作成し、この構成をそのファイルに保存します。
3. この構成の image:name
セクションで、Qodana Docker イメージの名前を指定します。
Qodana と GitLab CI/CD の統合の詳細については、このドキュメントの GitLab CI/CD セクションを参照してください。
Jenkins
1. Jenkins UI で、Jenkins ドキュメントの新しいグローバル認証情報の追加(英語)セクションに従って、qodana-token
名で資格情報を作成し、プロジェクトトークンをこれらの資格情報の値として保存します。
2. プロジェクトのルートディレクトリに Jenkinsfile
ファイルを作成し、この構成をそのファイルに保存します。
3. このスクリプトの image
セクションで、Qodana Docker イメージ名を指定します。
Qodana と Jenkins の統合の詳細については、このドキュメントの Jenkins セクションを参照してください。
Space Automation
1. JetBrains Space UI で、qodana-token
という名前のシークレットを作成し、生成されたプロジェクトトークンをその値として保存します。
2. スペースベースのプロジェクトのルートディレクトリに .space.kts
ファイルを作成し、この構成スクリプトをそのファイルに保存します。
3. このスクリプトの container
セクションで、Qodana Docker イメージ名を指定します。
Qodana と Space Automation の統合の詳細については、このドキュメントの Space Automation セクションを参照してください。
TeamCity
1. TeamCity UI で、Qodana を実行するビルドステップを開きます。
2. Qodana クラウドトークン値を入力します。
フィールドに![TeamCity でのフィールドの構成 Configuring fields in TeamCity](https://resources.jetbrains.com/help/img/qodana/2024.1/cloud-forward-reports-teamcity.png)
Qodana と TeamCity の統合の詳細については、このドキュメントの TeamCity セクションを参照してください。
関連ページ:
![](https://resources.jetbrains.com/help/img/qodana/2024.1/qc-create-project.png)
プロジェクト
プロジェクトは、Qodana レポートを蓄積します。各プロジェクトは、プロジェクトトークンによって一意に識別されます。このトークンは、Qodana レポートのアップロードに使用されます。プロジェクトの作成:オンボーディング段階では、Qodana Cloud がすでに最初のプロジェクトの作成を支援しているため、これらの手順は追加のプロジェクトを作成する場合にのみ適用されます。チームページで、ボタンをクリックします。以下で説明するウィザードの手順に従います。Qodana Cloud からアクセスでき...
![](https://pleiades.io/icons/jetbrains_logo.png)
プロジェクトトークン
一般に利用可能な有料リンターでは、Qodana の実行中に変数を使用してプロジェクトトークンを提供する必要があります。例:qodana scan \ -e QODANA_TOKEN="<qodana-cloud-token>"docker run \ -v $(pwd):/data/project/ \ -e QODANA_TOKEN="<qodana-cloud-token>" \ jetbrains/qodana-<linter> 変数には、Qodana リ...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/gitlab-exposed-artifacts-expanded.png)
GitLab CI/CD
GitLab CI/CD は、さまざまな CI/CD 手法を使用するソフトウェア開発用のツールです。このセクションでは、GitLab CI/CD パイプライン内で QodanaDocker イメージを実行する方法について説明し、次のケースについて説明します。特定のブランチおよびマージリクエストのインスペクション、インスペクションレポートを Qodana クラウドに転送する、GitLab CI/CD ユーザーインターフェースでの Qodana レポートの公開、品質ゲートとベースライン機能の使用、コード品...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/teamcity-runner.png)
TeamCity
Qodana は、TeamCity でビルドランナーとして使用できます。使用を開始するには、次の前提条件を満たす必要があります。TeamCity をプロジェクトのビルドサーバーとして使用します。そうでない場合は、TeamCity のドキュメントでその方法を学習してください。プロジェクト言語は、完全にサポートされているテクノロジのリストに含まれています。独自の TeamCity エージェントを使用する場合は、Docker がエージェントマシンにインストールされており、TeamCity を実行してい...
![](https://resources.jetbrains.com/help/img/qodana/2024.1/qc-overview-reports.png)
レポートの概要
プロジェクトレポートからの情報が集約され、このイメージでマークされているいくつかのセクションに表示されます。各セクションの説明は次のとおりです。1. プロジェクト名、ブランチ名、最後のインスペクション実行からの経過時間、検出された問題の数とその重大度。2. コードカバレッジとライセンス監査機能を使用した分析結果。3. コンテキストメニューを使用すると、次のことが可能になります。VCS の HTTPS または SSH URL を構成する、プロジェクトの名前を変更する、プロジェクトトークンをコピーまた...