Skip to main content

Set code scanning merge protection

You can use rulesets to set code scanning merge protection for pull requests.

Wer kann dieses Feature verwenden?

Organisationsbesitzerinnen, Sicherheitsmanagerinnen und Organisationsmitglieder mit der Administratorrolle

Code scanning is available for the following repository types:

  • Public repositories on GitHub.com
  • Organization-owned repositories on GitHub Team, GitHub Enterprise Cloud, or GitHub Enterprise Server, with GitHub Code Security enabled.

About using rulesets for code scanning merge protection

Hinweis

  • Merge protection with rulesets is not related to status checks. For more information about status checks, see Informationen zu Statuschecks.
  • Merge protection with rulesets will not apply to merge queue groups or Dependabot pull requests analyzed by default setup.
  • All the lines of code identified by an alert must exist in the pull request diff. For more information, see SARIF-Unterstützung für die Codeüberprüfung.

You can use rulesets to prevent pull requests from being merged when one of the following conditions is met:

  • Ein erforderliches Tool hat eine code scanning-Warnung eines Schweregrads gefunden, der in einem Regelsatz definiert ist.
  • Eine erforderliche % data variables.product.prodname_code_scanning %}-Toolanalyse wird noch ausgeführt.
  • Für das Repository ist kein erforderliches code scanning-Tool konfiguriert.

Typically you should use rulesets target long-lived feature branches, where you would like to guarantee that code has been analyzed before pull requests can be merged.

Configuring a code scanning rule will not automatically enable code scanning. For more information about how to enable code scanning, see Configuring default setup for code scanning.

For more information about code scanning alerts, see Informationen zu Codeüberprüfungswarnungen.

You can set merge protection with rulesets at the repository level, and for repositories configured with either default setup or advanced setup. You can also use the REST API to set merge protection with rulesets.

For more information about rulesets, see Informationen zu Regelsätzen.

Creating a merge protection ruleset for a repository

  1. Navigieren Sie auf GitHub zur Hauptseite des Repositorys.

  2. Klicke unter dem Repositorynamen auf Settings. Wenn die Registerkarte „Einstellungen“ nicht angezeigt wird, wähle im Dropdownmenü die Option Einstellungen aus.

    Screenshot eines Repositoryheaders mit den Registerkarten. Die Registerkarte „Einstellungen“ ist dunkelorange umrandet.

  3. Klicke auf der linken Randleiste unter „Code und Automatisierung“ auf Regeln und dann auf Regelsätze.

    Screenshot: Randleiste der Seite „Einstellungen“ für ein Repository Das Untermenü „Regeln“ ist erweitert, und die Option „Regelsätze“ ist orange umrandet.

  4. Click New ruleset.

  5. To create a ruleset targeting branches, click New branch ruleset.

  6. Geben Sie unter „Regelsatzname“ einen Namen für den Regelsatz ein.

  7. Um den Standarderzwingungsstatus zu ändern, kannst du optional auf Disabled klicken und einen Erzwingungsstatus auswählen.

  8. Wählen Sie unter „Verzweigungsschutz“ code scanning-Ergebnisse anfordern.

  9. Klicke unter „Required tools and alert thresholds“ auf Add tool, und wähle ein code scanning-Tool mit der Dropdownliste aus. Zum Beispiel „CodeQL“.

  10. Neben dem Namen eines code scanning-Tools:

    • Klicken Sie auf Warnungen und wählen Sie eine der folgenden Optionen aus: Keine, Fehler, Fehler und Warnungen oder Alle.
    • Klicken Sie auf Sicherheitswarnungen und wählen Sie eine der folgenden Optionen aus: Keine, Kritisch, Hoch oder höher, Mittel oder höher oder Alle.

    Screenshot des Abschnitts „Erforderliche Tools und Warnungsschwellenwerte“ der Einstellungen „Regelsätze“.

Weitere Informationen zu Warnungsschweregraden und Sicherheitsschweregraden findest du unter Informationen zu Codeüberprüfungswarnungen.

For more information about managing rulesets in a repository, see Verwalten von Regelsätzen für ein Repository.

Creating a merge protection ruleset with the REST API

You can use the REST API to create a ruleset with the code_scanning rule, which allows you to define specific tools and set alert thresholds. For more information, see REST-API-Endpunkte für Regeln.