Skip to main content

プル要求のコード品質しきい値の設定

リポジトリまたは組織レベルで、設定したしきい値を下回るプル要求をブロックすることで、コード品質基準を自動的に適用します。

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

リポジトリの所有者、組織の所有者、および 管理者 ロールを持つユーザー

GitHub Team または GitHub Enterprise Cloud

ルールセットに Code Quality のしきい値を追加することで、コード品質基準を満たしていないプル要求をブロックできます。 プル リクエストがしきい値を満たしていない場合、そのプル リクエストはマージできません。

次のしきい値を設定できます。

  • CodeQL 検出結果、解決が必要な結果のうち、最も低い重大度順で。
  • テストでカバーする必要があるコードの最小割合によるコード カバレッジ。

これらのしきい値は 、リポジトリ レベルまたは 組織 レベルで適用して、多数のリポジトリに同じ標準を一度に適用できます。 チーム間で一貫した品質バーが必要な場合は組織レベルを選択し、1 つのプロジェクトに独自の標準が必要な場合はリポジトリ レベルを選択します。 Code Quality AI 検出をしきい値として設定することはできません。

[前提条件]

メモ

しきい値は、リポジトリにサポートされている 1 つ以上の言語のコードがある場合にのみ影響します。 GitHub Code Quality の有効化 を参照してください。

プル要求 Code Quality 正常に実行されることを確認する

Code Qualityのしきい値を含むようにルールセットを追加または更新する前に、コード品質 ワークフローが実行されていることを確認し、結果をプル要求に報告します。 それ以外の場合、ルールセット はすべての プル要求のマージをブロックする可能性があります。

  1. 最近のプル要求を開き、プル要求の下部にある [チェック] の概要までスクロールします。
  2. "CodeQL - コード品質" チェックが正常に実行され、その状態が報告されたことを確認します。

詳しくは、「CodeQL を利用したコード品質の分析」をご覧ください。

Code Quality を含めるためのルールセットの追加または更新

次の手順では、リポジトリ レベルでルール セットを作成または更新します。 複数のリポジトリに同じしきい値を一度に適用するには、代わりに同じ [コード品質の結果を要求する] ルールを使用して組織のルールセットを作成します。 「組織内のリポジトリのルールセットを作成する」を参照してください。

  1. リポジトリの [設定] タブに移動します。
  2. 左側のサイドバーの [コードと自動化] で、 Rules を展開し、[ ルールセット] をクリックします。
  3. 既定のブランチを保護するルールセットがまだない場合は、[ 新しいルールセット ] を展開し、[ 新しいブランチ ルールセット] をクリックします。 または、既定のブランチの既存のルールセットを開き、手順 5 に進みます。
  4. 新しいルールセットを作成する場合:
    • ルールセットの名前を定義します。
    • [強制状態] を [アクティブ] に設定します。
    • [ターゲット ブランチ] で、ターゲットとして "既定のブランチを含める" を追加します。
  5. [分岐ルール] で、[コード品質の結果を要求する] を有効にします。
  6. プル要求を既定のブランチにマージする前に解決する必要があるコード品質の結果の最も低い重大度を定義するには、[重大度] を設定します。 例えば次が挙げられます。
    • "Errors" を設定して、未解決のコード品質 エラー がマージされた pull request をブロックします。
    • "警告以上" を設定して、未解決のコード品質 の警告 または エラー がマージされた pull request をブロックします。
    • 未解決の コード品質メモ警告 、または エラー がマージされた pull request をブロックするには、"Notes 以上" を設定します。
    • "すべて" を設定して、任意の 未解決のコード品質の結果がマージされた pull request をブロックします。
  7. ルールセットの定義または編集が完了したら、作成 または 変更の保存 をクリックします。

コードカバレッジのしきい値の設定

また、コード カバレッジのしきい値を下回るプル要求をブロックすることもできます。 これは、上記で使用したコード品質の結果を要求するルールではなく、別のコード カバレッジルールを使用します。リポジトリでは、最初にコード カバレッジ データをアップロードする必要があります。 完全な手順については、 AUTOTITLE を参照してください。

次のステップ

コード品質の問題が既定のブランチに到達するのを防ぐために、pull request で GitHub Code Quality がどのように機能するかを説明します。 「コード品質の問題が既定のブランチに到達するのを防ぐ」を参照してください。