Defining matching patterns

SonarQube Cloud supports a set of path-matching patterns to help you include and exclude files from analysis. This page outlines the patterns that work.

Defining matching patterns for files

To define path-matching patterns, you can use the following wildcards:

  • * matches zero or more characters (not including the directory delimiter, /).

  • ** matches zero or more directory segments within the path.

  • ? matches a single character (not including the directory delimiter, /).

A file path definition is either relative to the sonar.projectBaseDir property, which is by default the directory from which the analysis was started, or absolute. See Analysis parameters for more information.

The table below shows path-matching pattern examples.

Matching pattern

Definition

**/*.css

<anyDirectory>/<anyFileName>.css

**/*Bean.java

<anyDirectory>/<anyString>Bean.java

Example: org/sonar.api/MyBean.java

**/*Bean?.java

<anyDirectory>/<anyString>Bean<singleCharacter>.java

Example: org/sonar.api/MyBean1.java

org/sonar/*

org/sonar/<anyFile>

org/sonar/** or org/sonar/**/*

org/sonar/<anyDirectory>/<anyFile>

Example: org/sonar/api/test/Bean.java

Defining matching patterns for coding rules

To define matching patterns for coding rules, use the following syntax:

<ruleRepository>:<searchString>

Where:

  • ruleRepository: is the identifier of the rule repository Examples: SonarQube java (identifier: java) or Security SonarAnalyzer PHP (identifier: phpsecurity), etc. You can use the wildcard pattern * (any string) to define the rule repository.

  • searchString: is any search string present in the rule key or in the rule name

The matching pattern means that any rule:

  • of the specified repository

  • whose name or key contains the specified search string

is a match.

Rule-matching pattern examples

Rule-matching pattern

Description

css:S4655

Rule ID s4655 in the repository css.

*:S4655

Rule ID s4655 in any repository.

*

All rules.

Identifying the repository, name, and key of a rule
  1. Retrieve your organization. See Retrieving your organizations for more details.

  2. Go to Rules.

  3. Use the filter on the left to search for a rule. The search results are displayed in the right panel.

  4. In the search results, click the rule you want to view. The rule opens and you can see the rule parameters.

The rule name, rule ID, and the repository to which the rule belongs are all available when selecting an issue in the SonarQube Cloud UI.

Last updated

Was this helpful?