Start FreeLog in
SonarQube Cloud | Managing your project | Setting up project analysis | New code definition

Configuring the new code calculation for your project

On this page

When your project is created (whatever the creation method), the new code definition set at the organization level (if any) is applied to your project by default. You can select another new code definition for your project.

For more information, see About new code.

Setting the new code definition for your project

As a project admin, you can set the new code definition for your project in the UI (except the Specific version and Specific date options) or using the Web API, at creation time or anytime later as explained below.

In the UI

To set or change the new code definition for your project in the UI:

  1. Retrieve your project.
  2. Go to Administration > New Code.
  3. Select the option you want to apply to your project.
  4. Select Save.

Via the Web API

To use the Web API to set your new code definition, you need to use an alternative endpoint, POST api/settings/set.

You need to make two separate API calls as explained below depending on the selected new code option.

Previous version
Previous version
First call
Endpoint                                                                                api/settings/set
MethodPOST

Parameters

component: <project_key>

key: sonar.leak.period

value: previous_version



Second call
Endpoint                                                                                api/settings/set
MethodPOST

Parameters

component: <project_key>

key: sonar.leak.period.type


value: previous_version

Specific version
Specific version
First call
Endpoint                                                                                api/settings/set
MethodPOST

Parameters

component: <project_key>

key: sonar.leak.period

value: <version>



Second call
Endpoint                                                                                api/settings/set
MethodPOST

Parameters

component: <project_key>

key: sonar.leak.period.type


value: version

Number of days
Number of days
First call
Endpoint                                                                               api/settings/set
MethodPOST

Parameters

component: <project_key>

key: sonar.leak.period

value: <number_of_days>



Second call
Endpoint                                                                                api/settings/set
MethodPOST

Parameters

component: <project_key>

key: sonar.leak.period.type


value: days

Specific date
Specific date
First call
Endpoint                                                                           api/settings/set
MethodPOST

Parameters

component:  <project_key>

key: sonar.leak.period

value: <YYYY-MM-DD>



Second call
Endpoint                                                                                api/settings/set
MethodPOST

Parameters

component:  <project_key>

key: sonar.leak.period.type

value: date

Additional setup and recommendations

Make sure to follow the recommendations about the code checkout.

We also recommend completing your merges using the fast-forward option without a merge commit; examples include GitHub’s squash and merge or rebase and merge options. That way, blame for merged commits will always have a more recent commit date.

If using Previous version option

The current version of a project is determined in different ways depending on the build system:

  • If the analysis is done using the SonarScanner for Maven, then SonarQube Server reads the version from the pom.xml file.
  • If the analysis is done with the SonarScanner for Gradle then SonarQube Server reads the version from the build.gradle file.
  • In all other cases, you must explicitly specify the version by setting the analysis parameter sonar.projectVersion.

Was this page helpful?

© 2008-2025 SonarSource SA. All rights reserved. SONAR, SONARSOURCE, SONARQUBE, and CLEAN AS YOU CODE are trademarks of SonarSource SA.

Creative Commons License