{"meta":{"title":"プルリクエストをマージする前にコード品質に関する指摘を修正すること","intro":"既定のブランチに到達する前に品質の問題をキャッチし、 Copilot Autofix と Copilot クラウドエージェントで修正します。","product":"セキュリティとコードの品質","breadcrumbs":[{"href":"/ja/code-security","title":"セキュリティとコードの品質"},{"href":"/ja/code-security/tutorials","title":"Tutorials"},{"href":"/ja/code-security/tutorials/improve-code-quality","title":"コードの品質を向上させる"},{"href":"/ja/code-security/tutorials/improve-code-quality/fix-findings-in-prs","title":"PR の問題点を修正する"}],"documentType":"article"},"body":"# プルリクエストをマージする前にコード品質に関する指摘を修正すること\n\n既定のブランチに到達する前に品質の問題をキャッチし、 Copilot Autofix と Copilot クラウドエージェントで修正します。\n\n> \\[!NOTE]\n> GitHub Code Quality は現在 パブリック プレビュー にあり、変更される可能性があります。\n> パブリック プレビュー の間、Code Quality は課金されませんが、Code Quality スキャンでは GitHub Actions 分が消費されます。\n\n## イントロダクション\n\nこのチュートリアルでは、プル要求で GitHub Code Quality を操作して、変更によって誤って発生する可能性があるコード品質の問題を特定する方法と、 Copilot Autofix と Copilot クラウドエージェントを使用してコード品質の結果に対処して解決する方法について説明します。\n\n### 問題を早期にキャッチする利点\n\nコード品質の問題を早期にキャッチすると、チームのコードベースが整い続けます。\nGitHub Code Quality コードで次のチェックを行います。\n\n* ```\n          **信頼性**: たとえば、ロジック エラー、安全でないエラー処理、アプリのクラッシュや予期しない動作の原因となる競合状態などです。 この種の問題に早期に対処することで、ソフトウェアの堅牢性が高く、ユーザーにとって信頼性が高まります。\n  ```\n* ```\n          **保守容易性**: たとえば、重複したコード、過度に複雑なロジック、未使用の変数、コーディングのベスト プラクティス違反などです。 これらの問題を修正すると、コードがよりクリーンで読みやすくなり、将来の変更がより速く、リスクが低くなります。\n  ```\n\n## 1. プル要求での GitHub Code Quality のしくみを理解する\n\npull request を開くと、 GitHub Code Quality は CodeQL を使用して、上記のような品質の問題の変更を自動的にスキャンします。\n\n```\n          CodeQL スキャンの結果は、プル要求に関するコメントとして報告され、`github-code-quality[bot]`によって残されます。 各コメントは、変更で検出された特定のコード品質の問題に対応し、推奨される自動修正が付属しています。\n```\n\nコメントには重大度 (**エラー**、 **警告**、 **注意**) のラベルが付いているため、対処に最も重要な結果を確認できます。\n\n## 2. 重大度に基づいて修正プログラムに優先順位を付ける\n\nコメントをスキャンし、最も重大度レベルが高い結果 (\"エラー\") を最初に特定します。\n\n\"エラー\" の結果がない場合は、次の重大度レベル (\"警告\") の結果を探します。\n\n重大度が高い結果は、コードベースで信頼性や保守容易性の問題が発生する可能性が高い、より深刻なコード品質の問題を示します。 重大度の高い結果を解決することで、チームのコードの品質を維持するために最も影響の大きい作業を行います。\n\n> \\[!NOTE]\n> リポジトリ管理者は、pull request に特定の重大度レベル以上の\\*\\*\\*\\* 結果が含まれている場合に、プル要求のマージをCode Qualityするコード品質ゲートを設定している可能性があります。 「[pull request でのブロックの解決](/ja/code-security/code-quality/how-tos/unblock-your-pr)」を参照してください。\n\n## 3. Copilot Autofix または Copilot クラウドエージェント を活用して結果を修正する\n\n### Copilot Autofix\n\npull request に関するコメントには、pull request に直接コミットできる **推奨自動修正** が含まれています。 ロジック、セキュリティ、スタイルに関して推奨される自動修正を慎重に確認し、\\[ **提案のコミット**] をクリックします。\n\nこれらの提案を適用するためにCopilot ライセンスは必要ありません。\n\n### Copilot クラウドエージェント\n\nまたは、 Copilot ライセンスがある場合は、修復作業を Copilot クラウドエージェントに委任できます。 pull request にコメントし、`@Copilot`に言及していることを明示し、Copilotに検出された問題の修正を要求します。\n\n![クラウドエージェントであるCopilotを呼び出したPRコメントを示すスクリーンショット。](/assets/images/help/code-quality/invoke-cloud-agent.png)\n\n```\n          Copilot は、コメントに目の絵文字 (👀) で応答し、新しいエージェント セッションを開始し、必要な修正を含む pull request を開きます。\n\n          Copilot クラウドエージェントの作業を追跡できます。\n```\n\n* pull request では、作業の進行状況に応じて概要が更新されます。\n* ```\n          [エージェント ページ](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) を参照してください。\n\n          Copilotを呼び出すには、Copilot クラウドエージェント ライセンスが必要です。\n  ```\n\n<br>\n              <a href=\"https://github.com/features/copilot/plans?ref_product=copilot&ref_type=purchase&ref_style=button\" target=\"_blank\" class=\"btn btn-primary mt-3 mr-3 no-underline\">\n              <span>サインアップ Copilot</span><svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-link-external\" aria-label=\"link external icon\" role=\"img\"><path d=\"M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z\"></path></svg></a>\n\n## 4. 無関係な結果を無視する\n\nコードベースのコンテキストで関連性がない場合、またはアクション可能でない場合は、結果を無視できます。 結果を無視する一般的な理由は次のとおりです。\n\n* この結果は、管理されなくなったレガシ コードにあります。\n* これは、チームのコーディング標準に対する既知の例外です。\n* これは、実際の品質リスクをもたらさない偽陽性です。\n\n無関係なアラートを無視すると、品質チェックが意味のある問題に焦点を当て続けます。\n\n## 5. 変更をプッシュし、スキャンを待つ\n\n結果を修正または無視した後、プル要求に関連付けられているブランチに変更をプッシュします。\nGitHub Code Quality は、変更を自動的に再スキャンし、それに応じて pull request のコメントを更新します。\n\n## 6. リポジトリのコード品質評価を確認する\n\n書き込みアクセス権を持つすべてのユーザーは、リポジトリの全体的なコード品質評価を表示できます。これは、既定のブランチ全体のコードの信頼性と保守容易性の状態を要約します。\n\nリポジトリの評価を表示するには、リポジトリの \\[ **<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** ] タブに移動し、サイドバーで **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-code-review\" aria-label=\"code review\" role=\"img\"><path d=\"M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z\"></path></svg>コードの品質** を展開し、\\[ **標準の結果**] をクリックします。\n\npull request をマージする前に問題を解決することで、これらの評価の維持に直接貢献しました。\n\n## 次のステップ\n\n* 既定のブランチのコード品質の結果に対処し、リポジトリの信頼性と保守容易性の評価を理解します。 「[リポジトリのコードの品質の向上](/ja/code-security/code-quality/tutorials/improve-your-codebase)」を参照してください。\n* ```\n          GitHub Code Qualityディスカッションで[](https://github.com/orgs/community/discussions/177488)に関するフィードバックを提供します。\n  ```"}