Skip to main content

プルリクエストをマージする前にコード品質に関する指摘を修正すること

既定のブランチに到達する前に品質の問題をキャッチし、 Copilot自動修正 と Copilotクラウドエージェントで修正します。

この機能を使用できるユーザーについて

書き込み アクセスを持つユーザー

GitHub Team または GitHub Enterprise Cloud

メモ

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

イントロダクション

このチュートリアルでは、プル要求で GitHub Code Quality を操作して、変更によって誤って発生する可能性があるコード品質の問題を特定する方法と、 Copilot自動修正 と Copilotクラウドエージェントを使用してコード品質の結果に対処して解決する方法について説明します。

問題を早期にキャッチする利点

コード品質の問題を早期にキャッチすると、チームのコードベースが整い続けます。 GitHub Code Quality コードで次のチェックを行います。

  •         **信頼性**: たとえば、ロジック エラー、安全でないエラー処理、アプリのクラッシュや予期しない動作の原因となる競合状態などです。 この種の問題に早期に対処することで、ソフトウェアの堅牢性が高く、ユーザーにとって信頼性が高まります。
    
  •         **保守容易性**: たとえば、重複したコード、過度に複雑なロジック、未使用の変数、コーディングのベスト プラクティス違反などです。 これらの問題を修正すると、コードがよりクリーンで読みやすくなり、将来の変更がより速く、リスクが低くなります。
    

1. プル要求での GitHub Code Quality のしくみを理解する

pull request を開くと、 GitHub Code Quality は CodeQL を使用して、上記のような品質の問題の変更を自動的にスキャンします。

          CodeQL スキャンの結果は、プル要求に関するコメントとして報告され、`github-code-quality[bot]`によって残されます。 各コメントは、変更で検出された特定のコード品質の問題に対応し、推奨される自動修正が付属しています。

コメントには重大度 (エラー警告注意) のラベルが付いているため、対処に最も重要な結果を確認できます。

2. 重大度に基づいて修正プログラムに優先順位を付ける

コメントをスキャンし、最も重大度レベルが高い結果 ("エラー") を最初に特定します。

"エラー" の結果がない場合は、次の重大度レベル ("警告") の結果を探します。

重大度が高い結果は、コードベースで信頼性や保守容易性の問題が発生する可能性が高い、より深刻なコード品質の問題を示します。 重大度の高い結果を解決することで、チームのコードの品質を維持するために最も影響の大きい作業を行います。

メモ

リポジトリ管理者は、pull request に特定の重大度レベル以上の**** 結果が含まれている場合に、プル要求のマージをCode Qualityするコード品質ゲートを設定している可能性があります。 「pull request でのブロックの解決」を参照してください。

3. Copilot自動修正 または Copilotクラウドエージェント を活用して結果を修正する

Copilot自動修正

pull request に関するコメントには、pull request に直接コミットできる 推奨自動修正 が含まれています。 ロジック、セキュリティ、スタイルに関して推奨される自動修正を慎重に確認し、[ 提案のコミット] をクリックします。

これらの提案を適用するためにCopilot ライセンスは必要ありません。

Copilotクラウドエージェント

または、 Copilot ライセンスがある場合は、修復作業を Copilotクラウドエージェントに委任できます。 pull request にコメントし、@Copilotに言及していることを明示し、Copilotに検出された問題の修正を要求します。

クラウドエージェントであるCopilotを呼び出したPRコメントを示すスクリーンショット。

          Copilot は、コメントに目の絵文字 (👀) で応答し、新しいエージェント セッションを開始し、必要な修正を含む pull request を開きます。

          Copilotクラウドエージェントの作業を追跡できます。
  • pull request では、作業の進行状況に応じて概要が更新されます。
  •         [エージェント ページ](https://github.com/copilot/agents?ref_product=copilot&ref_type=engagement&ref_style=text)またはセッション ログの使用については、[AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/track-copilot-sessions) を参照してください。
    
            Copilotを呼び出すには、Copilotクラウドエージェント ライセンスが必要です。
    

サインアップ Copilot

4. 無関係な結果を無視する

コードベースのコンテキストで関連性がない場合、またはアクション可能でない場合は、結果を無視できます。 結果を無視する一般的な理由は次のとおりです。

  • この結果は、管理されなくなったレガシ コードにあります。
  • これは、チームのコーディング標準に対する既知の例外です。
  • これは、実際の品質リスクをもたらさない偽陽性です。

無関係なアラートを無視すると、品質チェックが意味のある問題に焦点を当て続けます。

5. 変更をプッシュし、スキャンを待つ

結果を修正または無視した後、プル要求に関連付けられているブランチに変更をプッシュします。 GitHub Code Quality は、変更を自動的に再スキャンし、それに応じて pull request のコメントを更新します。

6. リポジトリのコード品質評価を確認する

書き込みアクセス権を持つすべてのユーザーは、リポジトリの全体的なコード品質評価を表示できます。これは、既定のブランチ全体のコードの信頼性と保守容易性の状態を要約します。

リポジトリの評価を表示するには、リポジトリの [ Security and quality ] タブに移動し、サイドバーで コードの品質 を展開し、[ 標準の結果] をクリックします。

pull request をマージする前に問題を解決することで、これらの評価の維持に直接貢献しました。

次のステップ

  • 既定のブランチのコード品質の結果に対処し、リポジトリの信頼性と保守容易性の評価を理解します。 「リポジトリのコードの品質の向上」を参照してください。
  •         GitHub Code Qualityディスカッションで[](https://github.com/orgs/community/discussions/177488)に関するフィードバックを提供します。