Issue:
I’m using SonarQube 2025.3.1 (Developer Edition) and I cannot see Pull Request (PR) decoration in the SonarQube UI, even though the analysis runs successfully. PRs are not showing up under the “Branches & Pull Requests” section.
Steps Taken So Far:
SonarQube Scanner for .NET Configuration:
The SonarScanner command is correctly set up for PR analysis, using the following parameters:
PR Decoration not showing: Despite following all setup steps and configurations, the PR results are not showing up in SonarQube’s Branches & Pull Requests section.
PR analysis: I need assistance in ensuring SonarQube recognizes PR analysis and properly decorates the PR in the UI.
Missing settings: I’m unable to find “Pull Request Decoration” under Administration > General Settings > Pull Request Decoration in SonarQube 2025.3.1.
First, PR decoration is a secondary step - that shows up in your repository, not SonarQube itself - after PR analysis.
You keep saying PR decoration isn’t showing up, but from the other things you’ve said, I’m guessing it’s PR analysis that isn’t happening?
Explicitly, when you check the project’s branches & PRs dropdown, do you see PRs in the list or only branches?
Second, you haven’t stated what CI you’re using, but you generally shouldn’t need to explicitly provide the PR analysis parameters. For most popular CIs, they’re picked up automatically from the environment. So, can you share which CI you’re using?
And finally, can you provide your analysis log?
The analysis / scanner log is what’s output from the analysis command. Hopefully, the log you provide - redacted as necessary - will include that command as well.
Thanks for the log. Here’s what’s interesting in it.
We see your manually-provided PR parameters, but they’re not landing:
A spell-check against the docs, (which, again, clearly state that you don’t need to do this for Azure pipelines) shows a spelling difference:
sonar.pullrequest.base
TBH, I’m not sure whether or not capitalization matters here. But if you’re going to continue to manually supply these parameters, you probably want to clean up the spelling.
Then we see that there is an attempt to do incremental PR analysis, so apparently analysis is picking up the requisite values from somewhere:
But in the end, we have a problem with the underlying SCM data:
Since PR analysis relies on SCM data to understand what’s “new” this is probably the root of the problem.
You’ll want to make sure you have the prerequisites in place and get rid of that shallow clone.
Shoutout to the person who had the attentiveness to include the solution into the logmessage! (this behaviour is - to myself, at least - very welcome and helpful. praise it )