About enabling advanced setup for code scanning with CodeQL at scale
If you need to configure a highly customizable code scanning setup for many repositories in your organization, or if repositories in your organization are ineligible for default setup, you can enable code scanning at scale with advanced setup.
To enable advanced setup across multiple repositories, you can write a bulk configuration script. To successfully execute the script, GitHub Actions must be enabled for the organization or enterprise.
Alternatively, if you do not need granular control over the code scanning configuration for many repositories in your organization, you can quickly and easily configure code scanning at scale with default setup. For more information, see "Configuring default setup for code scanning at scale."
Using a script to enable advanced setup
For repositories that are not eligible for default setup, you can use a bulk configuration script to enable advanced setup across multiple repositories.
- Identify a group of repositories that can be analyzed using the same code scanning configuration. For example, all repositories that build Java artifacts using the production environment.
- Create and test a GitHub Actions workflow to call the CodeQL action with the appropriate configuration. For more information, see "Configuring advanced setup for code scanning."
- Use one of the example scripts or create a custom script to add the workflow to each repository in the group.
- PowerShell example:
jhutchings1/Create-ActionsPRs
repository - NodeJS example:
nickliffen/ghas-enablement
repository - Python example:
Malwarebytes/ghas-cli
repository
- PowerShell example:
Extending CodeQL coverage with model packs
Note: CodeQL model packs and the CodeQL model editor are currently in public preview and subject to change. Model packs are supported by C#, Java/Kotlin, Python, and Ruby analysis.
If your codebase depends on a library or framework that is not recognized by the standard queries in CodeQL, you can extend the CodeQL coverage in your bulk configuration script by specifying published CodeQL model packs. For more information, see "Customizing your advanced setup for code scanning."
Alternatively, if you do not need granular control over the code scanning configuration for many repositories in your organization, you can quickly and easily configure model packs with code scanning at scale with default setup. For more information, see "Editing your configuration of default setup."