# CodeQL を利用したコード品質の分析

Code Qualityの CodeQL を利用した分析のしくみ、使用されるワークフロー、プル要求で報告された状態チェックに関する情報。

> \[!NOTE]
> GitHub Code Quality は現在 パブリック プレビュー にあり、変更される可能性があります。
> パブリック プレビュー の間、Code Quality は課金されませんが、Code Quality スキャンでは GitHub Actions 分が消費されます。

##

```
          CodeQLのパワーによる分析

          Code Quality では、 CodeQL を使用して、プル要求と既定のブランチのルールベースの分析を実行します。
```

\*
**既定のブランチ**の結果は、リポジトリの \[<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-shield" aria-label="shield" role="img"><path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path></svg> Security and quality] タブの \[\*\*\*\*] ダッシュボードの下に表示されます。

* ```
          **pull request の結果は、**`github-code-quality[bot]`によって行われたコメントとして表示されます。

          Copilot Autofix 可能な限り、結果に関する提案が提供されます。
  ```

### サポートされている言語のクエリ リスト

各 Code Quality ルールは、 CodeQL でクエリとして書き込まれ、 GitHub Actionsを使用して実行されます。

規則は、 GitHub とオープン ソースの開発者の両方によって継続的に改良されています。

* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/csharp-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/go-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/java-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/javascript-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/python-queries)
  ```
* ```
          [AUTOTITLE](/code-security/code-quality/reference/codeql-queries/ruby-queries)

          CodeQL プロジェクトの詳細については、「[https://codeql.github.com/](https://codeql.github.com/)」を参照してください。
  ```

## コード品質分析に使用されるワークフロー

リポジトリの Code Quality タブで、\*\*\*\* のすべてのワークフロー実行を確認できます。 動的ワークフローは "コード品質" と呼ばれます。

既定では、 コード品質 ワークフローは標準の GitHub ランナーで実行されますが、特定のラベルを持つランナーを使用するように Code Quality を構成できます。 これらは、 GitHub またはセルフホステッドによってホストされる場合があります。

組織でプライベート レジストリのキャッシュを構成している場合は、依存関係の解決に使用するコード品質分析に使用できます。

詳細については、以下を参照してください。

* ```
          [AUTOTITLE](/code-security/code-quality/how-tos/enable-code-quality)
  ```
* ```
          [AUTOTITLE](/code-security/securing-your-organization/enabling-security-features-in-your-organization/giving-org-access-private-registries#code-quality-access-to-private-registries)
  ```

## プルリクエストのステータスチェック

プル要求でコード品質分析を実行すると、pull request の下部にある \[チェック] セクションに "CodeQL - コード品質 /Analyze" チェックが表示されます。

スキャンによって識別されたコードの問題は、プル要求のコメントで報告されます。 コメントは `github-code-quality[bot]` によって作成され、 Copilot Autofix 提案が含まれています。

### 状態チェックの失敗

ワークフローの実行に失敗しました。 たとえば、アクションのための時間予算が使い果たされた場合です。
[エラーを診断するには、ログの表示を参照してください](/ja/enterprise-cloud@latest/actions/how-tos/monitor-workflows/use-workflow-run-logs#viewing-logs-to-diagnose-failures)。

### マージがブロックされました: コード品質に関する問題が検出されました

スキャンによって、リポジトリのコード品質分岐規則によって設定された品質ゲートを超える問題がコードで検出されました。 pull request をマージする前に、これらの問題を解決する必要があります。 「[pull request でのブロックの解決](/ja/enterprise-cloud@latest/code-security/code-quality/how-tos/unblock-your-pr)」を参照してください。