I recently started using Travis CI and sonarqube in an open source project and have run into a problem with sonarqube-scanner.
My Travis CI page can be seen here: https://travis-ci.org/uglyoldbob/decompiler
My sonarqube page can be seen here: https://sonarqube.com/overview?id=uglyoldbob_decompiler
I'm running sonarqube-scanner on Travis CI it suddenly stopped working with the following error:
"ERROR: You're not authorized to execute any SonarQube analysis. Please contact your SonarQube administrator."
I am using a token generated on sonarqube and have added it to the environment variables of Travis CI. I generated a new token when I noticed the problem and updated the environment variable with Travis but it did not change anything.
What can I do to fix this?
In General: You need to pass a user token from an account with analysis permissions in your analysis parameters. Use the sonar.login
property to do it.
Specifically: I see from your travis log that you are passing what looks like a user token in the sonar.login property. However you are passing it to sonar.host.url=http://nemo.sonarqube.org
. You need to change this to https://sonarqube.com
with mvn I had to pass to sonarcloud.io the parameter -Dsonar.branch=master
all command goes something like this:
mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent package sonar:sonar -Dsonar.host.url=https://sonarcloud.io -Dsonar.organization={ORG_KEY} -Dsonar.login={GENERATED_KEY_ON_SONARCLOUD_SECURITY} -Dsonar.branch={BRANCH_NAME}
this fixed the following error:
You're only authorized to execute a local (preview) SonarQube analysis without pushing the results to the SonarQube server. Please contact your SonarQube administrator.
remember adding the analysis permission on the sonarcloud admin console.
"Chances are that the SonarCloud project key inferred from your Gradle configuration is already used by someone else" (Fabrice Bellingard at https://community.sonarsource.com/t/unauthorized-exception-on-first-sonarqube-analysis/333/2)
Choose a fix:
-Dsonar.projectKey=$my_own_project_key
Or via build.gradle
:
sonarqube {
properties {
property 'sonar.projectKey', '$my_own_project_key'
}
}